Part I - Programme for International Student Assessment (PISA) Data Exploration

by Jamiil Ali

Introduction

PISA is a is a survey of students' skills and knowledge as they approach the end of compulsory education. The dataset is is a worldwide study developed by the Organisation for Economic Co-operation and Development (OECD) which examines the skills of 15-year-old school students around the world. The study assesses students’ mathematics, science, and reading skills and contains a wealth of information on students’ background, their school and the organisation of education systems.

Preliminary Wrangling

In [1]:
# import all packages and set plots to be embedded inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb

plt.rcParams["axes.spines.right"] = False
plt.rcParams["axes.spines.top"] = False
%matplotlib inline
In [2]:
pisadict2012 = pd.read_csv("pisadict2012.csv", encoding='latin1', index_col=0)
In [3]:
pd.set_option('display.max_columns', 1000)
pd.set_option('display.max_rows', 100000)
pd.set_option('display.max_colwidth', 1000)
In [4]:
pisadict2012
Out[4]:
x
CNT Country code 3-character
SUBNATIO Adjudicated sub-region code 7-digit code (3-digit country code + region ID + stratum ID)
STRATUM Stratum ID 7-character (cnt + region ID + original stratum ID)
OECD OECD country
NC National Centre 6-digit Code
SCHOOLID School ID 7-digit (region ID + stratum ID + 3-digit school ID)
STIDSTD Student ID
ST01Q01 International Grade
ST02Q01 National Study Programme
ST03Q01 Birth - Month
ST03Q02 Birth -Year
ST04Q01 Gender
ST05Q01 Attend <ISCED 0>
ST06Q01 Age at <ISCED 1>
ST07Q01 Repeat - <ISCED 1>
ST07Q02 Repeat - <ISCED 2>
ST07Q03 Repeat - <ISCED 3>
ST08Q01 Truancy - Late for School
ST09Q01 Truancy - Skip whole school day
ST115Q01 Truancy - Skip classes within school day
ST11Q01 At Home - Mother
ST11Q02 At Home - Father
ST11Q03 At Home - Brothers
ST11Q04 At Home - Sisters
ST11Q05 At Home - Grandparents
ST11Q06 At Home - Others
ST13Q01 Mother<Highest Schooling>
ST14Q01 Mother Qualifications - <ISCED level 6>
ST14Q02 Mother Qualifications - <ISCED level 5A>
ST14Q03 Mother Qualifications - <ISCED level 5B>
ST14Q04 Mother Qualifications - <ISCED level 4>
ST15Q01 Mother Current Job Status
ST17Q01 Father<Highest Schooling>
ST18Q01 Father Qualifications - <ISCED level 6>
ST18Q02 Father Qualifications - <ISCED level 5A>
ST18Q03 Father Qualifications - <ISCED level 5B>
ST18Q04 Father Qualifications - <ISCED level 4>
ST19Q01 Father Current Job Status
ST20Q01 Country of Birth International - Self
ST20Q02 Country of Birth International - Mother
ST20Q03 Country of Birth International - Father
ST21Q01 Age of arrival in <country of test>
ST25Q01 International Language at Home
ST26Q01 Possessions - desk
ST26Q02 Possessions - own room
ST26Q03 Possessions - study place
ST26Q04 Possessions - computer
ST26Q05 Possessions - software
ST26Q06 Possessions - Internet
ST26Q07 Possessions - literature
ST26Q08 Possessions - poetry
ST26Q09 Possessions - art
ST26Q10 Possessions - textbooks
ST26Q11 Possessions - <technical reference books>
ST26Q12 Possessions - dictionary
ST26Q13 Possessions - dishwasher
ST26Q14 Possessions - <DVD>
ST26Q15 Possessions - <Country item 1>
ST26Q16 Possessions - <Country item 2>
ST26Q17 Possessions - <Country item 3>
ST27Q01 How many - cellular phones
ST27Q02 How many - televisions
ST27Q03 How many - computers
ST27Q04 How many - cars
ST27Q05 How many - rooms bath or shower
ST28Q01 How many books at home
ST29Q01 Math Interest - Enjoy Reading
ST29Q02 Instrumental Motivation - Worthwhile for Work
ST29Q03 Math Interest - Look Forward to Lessons
ST29Q04 Math Interest - Enjoy Maths
ST29Q05 Instrumental Motivation - Worthwhile for Career Chances
ST29Q06 Math Interest - Interested
ST29Q07 Instrumental Motivation - Important for Future Study
ST29Q08 Instrumental Motivation - Helps to Get a Job
ST35Q01 Subjective Norms -Friends Do Well in Mathematics
ST35Q02 Subjective Norms -Friends Work Hard on Mathematics
ST35Q03 Subjective Norms - Friends Enjoy Mathematics Tests
ST35Q04 Subjective Norms - Parents Believe Studying Mathematics Is Important
ST35Q05 Subjective Norms - Parents Believe Mathematics Is Important for Career
ST35Q06 Subjective Norms - Parents Like Mathematics
ST37Q01 Math Self-Efficacy - Using a <Train Timetable>
ST37Q02 Math Self-Efficacy - Calculating TV Discount
ST37Q03 Math Self-Efficacy - Calculating Square Metres of Tiles
ST37Q04 Math Self-Efficacy - Understanding Graphs in Newspapers
ST37Q05 Math Self-Efficacy - Solving Equation 1
ST37Q06 Math Self-Efficacy - Distance to Scale
ST37Q07 Math Self-Efficacy - Solving Equation 2
ST37Q08 Math Self-Efficacy - Calculate Petrol Consumption Rate
ST42Q01 Math Anxiety - Worry That It Will Be Difficult
ST42Q02 Math Self-Concept - Not Good at Maths
ST42Q03 Math Anxiety - Get Very Tense
ST42Q04 Math Self-Concept- Get Good <Grades>
ST42Q05 Math Anxiety - Get Very Nervous
ST42Q06 Math Self-Concept - Learn Quickly
ST42Q07 Math Self-Concept - One of Best Subjects
ST42Q08 Math Anxiety - Feel Helpless
ST42Q09 Math Self-Concept - Understand Difficult Work
ST42Q10 Math Anxiety - Worry About Getting Poor <Grades>
ST43Q01 Perceived Control - Can Succeed with Enough Effort
ST43Q02 Perceived Control - Doing Well is Completely Up to Me
ST43Q03 Perceived Control - Family Demands and Problems
ST43Q04 Perceived Control - Different Teachers
ST43Q05 Perceived Control - If I Wanted I Could Perform Well
ST43Q06 Perceived Control - Perform Poorly Regardless
ST44Q01 Attributions to Failure - Not Good at Maths Problems
ST44Q03 Attributions to Failure - Teacher Did Not Explain Well
ST44Q04 Attributions to Failure - Bad Guesses
ST44Q05 Attributions to Failure - Material Too Hard
ST44Q07 Attributions to Failure - Teacher Didnt Get Students Interested
ST44Q08 Attributions to Failure - Unlucky
ST46Q01 Math Work Ethic - Homework Completed in Time
ST46Q02 Math Work Ethic - Work Hard on Homework
ST46Q03 Math Work Ethic - Prepared for Exams
ST46Q04 Math Work Ethic - Study Hard for Quizzes
ST46Q05 Math Work Ethic - Study Until I Understand Everything
ST46Q06 Math Work Ethic - Pay Attention in Classes
ST46Q07 Math Work Ethic - Listen in Classes
ST46Q08 Math Work Ethic - Avoid Distractions When Studying
ST46Q09 Math Work Ethic - Keep Work Organized
ST48Q01 Math Intentions - Mathematics vs. Language Courses After School
ST48Q02 Math Intentions - Mathematics vs. Science Related Major in College
ST48Q03 Math Intentions - Study Harder in Mathematics vs. Language Classes
ST48Q04 Math Intentions - Take Maximum Number of Mathematics vs. Science Classes
ST48Q05 Math Intentions - Pursuing a Career That Involves Mathematics vs. Science
ST49Q01 Math Behaviour - Talk about Maths with Friends
ST49Q02 Math Behaviour - Help Friends with Maths
ST49Q03 Math Behaviour - <Extracurricular> Activity
ST49Q04 Math Behaviour - Participate in Competitions
ST49Q05 Math Behaviour - Study More Than 2 Extra Hours a Day
ST49Q06 Math Behaviour - Play Chess
ST49Q07 Math Behaviour - Computer programming
ST49Q09 Math Behaviour - Participate in Math Club
ST53Q01 Learning Strategies- Important Parts vs. Existing Knowledge vs. Learn by Heart
ST53Q02 Learning Strategies- Improve Understanding vs. New Ways vs. Memory
ST53Q03 Learning Strategies - Other Subjects vs. Learning Goals vs. Rehearse Problems
ST53Q04 Learning Strategies - Repeat Examples vs. Everyday Applications vs. More Information
ST55Q01 Out of school lessons - <test lang>
ST55Q02 Out of school lessons - <maths>
ST55Q03 Out of school lessons - <science>
ST55Q04 Out of school lessons - other
ST57Q01 Out-of-School Study Time - Homework
ST57Q02 Out-of-School Study Time - Guided Homework
ST57Q03 Out-of-School Study Time - Personal Tutor
ST57Q04 Out-of-School Study Time - Commercial Company
ST57Q05 Out-of-School Study Time - With Parent
ST57Q06 Out-of-School Study Time - Computer
ST61Q01 Experience with Applied Maths Tasks - Use <Train Timetable>
ST61Q02 Experience with Applied Maths Tasks - Calculate Price including Tax
ST61Q03 Experience with Applied Maths Tasks - Calculate Square Metres
ST61Q04 Experience with Applied Maths Tasks - Understand Scientific Tables
ST61Q05 Experience with Pure Maths Tasks - Solve Equation 1
ST61Q06 Experience with Applied Maths Tasks - Use a Map to Calculate Distance
ST61Q07 Experience with Pure Maths Tasks - Solve Equation 2
ST61Q08 Experience with Applied Maths Tasks - Calculate Power Consumption Rate
ST61Q09 Experience with Applied Maths Tasks - Solve Equation 3
ST62Q01 Familiarity with Math Concepts - Exponential Function
ST62Q02 Familiarity with Math Concepts - Divisor
ST62Q03 Familiarity with Math Concepts - Quadratic Function
ST62Q04 Overclaiming - Proper Number
ST62Q06 Familiarity with Math Concepts - Linear Equation
ST62Q07 Familiarity with Math Concepts - Vectors
ST62Q08 Familiarity with Math Concepts - Complex Number
ST62Q09 Familiarity with Math Concepts - Rational Number
ST62Q10 Familiarity with Math Concepts - Radicals
ST62Q11 Overclaiming - Subjunctive Scaling
ST62Q12 Familiarity with Math Concepts - Polygon
ST62Q13 Overclaiming - Declarative Fraction
ST62Q15 Familiarity with Math Concepts - Congruent Figure
ST62Q16 Familiarity with Math Concepts - Cosine
ST62Q17 Familiarity with Math Concepts - Arithmetic Mean
ST62Q19 Familiarity with Math Concepts - Probability
ST69Q01 Min in <class period> - <test lang>
ST69Q02 Min in <class period> - <Maths>
ST69Q03 Min in <class period> - <Science>
ST70Q01 No of <class period> p/wk - <test lang>
ST70Q02 No of <class period> p/wk - <Maths>
ST70Q03 No of <class period> p/wk - <Science>
ST71Q01 No of ALL <class period> a week
ST72Q01 Class Size - No of Students in <Test Language> Class
ST73Q01 OTL - Algebraic Word Problem in Math Lesson
ST73Q02 OTL - Algebraic Word Problem in Tests
ST74Q01 OTL - Procedural Task in Math Lesson
ST74Q02 OTL - Procedural Task in Tests
ST75Q01 OTL - Pure Math Reasoning in Math Lesson
ST75Q02 OTL - Pure Math Reasoning in Tests
ST76Q01 OTL - Applied Math Reasoning in Math Lesson
ST76Q02 OTL - Applied Math Reasoning in Tests
ST77Q01 Math Teaching - Teacher shows interest
ST77Q02 Math Teaching - Extra help
ST77Q04 Math Teaching - Teacher helps
ST77Q05 Math Teaching - Teacher continues
ST77Q06 Math Teaching - Express opinions
ST79Q01 Teacher-Directed Instruction - Sets Clear Goals
ST79Q02 Teacher-Directed Instruction - Encourages Thinking and Reasoning
ST79Q03 Student Orientation - Differentiates Between Students When Giving Tasks
ST79Q04 Student Orientation - Assigns Complex Projects
ST79Q05 Formative Assessment - Gives Feedback
ST79Q06 Teacher-Directed Instruction - Checks Understanding
ST79Q07 Student Orientation - Has Students Work in Small Groups
ST79Q08 Teacher-Directed Instruction - Summarizes Previous Lessons
ST79Q10 Student Orientation - Plans Classroom Activities
ST79Q11 Formative Assessment - Gives Feedback on Strengths and Weaknesses
ST79Q12 Formative Assessment - Informs about Expectations
ST79Q15 Teacher-Directed Instruction - Informs about Learning Goals
ST79Q17 Formative Assessment - Tells How to Get Better
ST80Q01 Cognitive Activation - Teacher Encourages to Reflect Problems
ST80Q04 Cognitive Activation - Gives Problems that Require to Think
ST80Q05 Cognitive Activation - Asks to Use Own Procedures
ST80Q06 Cognitive Activation - Presents Problems with No Obvious Solutions
ST80Q07 Cognitive Activation - Presents Problems in Different Contexts
ST80Q08 Cognitive Activation - Helps Learn from Mistakes
ST80Q09 Cognitive Activation - Asks for Explanations
ST80Q10 Cognitive Activation - Apply What We Learned
ST80Q11 Cognitive Activation - Problems with Multiple Solutions
ST81Q01 Disciplinary Climate - Students DonÂ’t Listen
ST81Q02 Disciplinary Climate - Noise and Disorder
ST81Q03 Disciplinary Climate - Teacher Has to Wait Until its Quiet
ST81Q04 Disciplinary Climate - Students DonÂ’t Work Well
ST81Q05 Disciplinary Climate - Students Start Working Late
ST82Q01 Vignette Teacher Support -Homework Every Other Day/Back in Time
ST82Q02 Vignette Teacher Support - Homework Once a Week/Back in Time
ST82Q03 Vignette Teacher Support - Homework Once a Week/Not Back in Time
ST83Q01 Teacher Support - Lets Us Know We Have to Work Hard
ST83Q02 Teacher Support - Provides Extra Help When Needed
ST83Q03 Teacher Support - Helps Students with Learning
ST83Q04 Teacher Support - Gives Opportunity to Express Opinions
ST84Q01 Vignette Classroom Management - Students Frequently Interrupt/Teacher Arrives Early
ST84Q02 Vignette Classroom Management - Students Are Calm/Teacher Arrives on Time
ST84Q03 Vignette Classroom Management - Students Frequently Interrupt/Teacher Arrives Late
ST85Q01 Classroom Management - Students Listen
ST85Q02 Classroom Management - Teacher Keeps Class Orderly
ST85Q03 Classroom Management - Teacher Starts On Time
ST85Q04 Classroom Management - Wait Long to <Quiet Down>
ST86Q01 Student-Teacher Relation - Get Along with Teachers
ST86Q02 Student-Teacher Relation - Teachers Are Interested
ST86Q03 Student-Teacher Relation - Teachers Listen to Students
ST86Q04 Student-Teacher Relation - Teachers Help Students
ST86Q05 Student-Teacher Relation - Teachers Treat Students Fair
ST87Q01 Sense of Belonging - Feel Like Outsider
ST87Q02 Sense of Belonging - Make Friends Easily
ST87Q03 Sense of Belonging - Belong at School
ST87Q04 Sense of Belonging - Feel Awkward at School
ST87Q05 Sense of Belonging - Liked by Other Students
ST87Q06 Sense of Belonging - Feel Lonely at School
ST87Q07 Sense of Belonging - Feel Happy at School
ST87Q08 Sense of Belonging - Things Are Ideal at School
ST87Q09 Sense of Belonging - Satisfied at School
ST88Q01 Attitude towards School - Does Little to Prepare Me for Life
ST88Q02 Attitude towards School - Waste of Time
ST88Q03 Attitude towards School - Gave Me Confidence
ST88Q04 Attitude towards School- Useful for Job
ST89Q02 Attitude toward School - Helps to Get a Job
ST89Q03 Attitude toward School - Prepare for College
ST89Q04 Attitude toward School - Enjoy Good Grades
ST89Q05 Attitude toward School - Trying Hard is Important
ST91Q01 Perceived Control - Can Succeed with Enough Effort
ST91Q02 Perceived Control - My Choice Whether I Will Be Good
ST91Q03 Perceived Control - Problems Prevent from Putting Effort into School
ST91Q04 Perceived Control - Different Teachers Would Make Me Try Harder
ST91Q05 Perceived Control - Could Perform Well if I Wanted
ST91Q06 Perceived Control - Perform Poor Regardless
ST93Q01 Perseverance - Give up easily
ST93Q03 Perseverance - Put off difficult problems
ST93Q04 Perseverance - Remain interested
ST93Q06 Perseverance - Continue to perfection
ST93Q07 Perseverance - Exceed expectations
ST94Q05 Openness for Problem Solving - Can Handle a Lot of Information
ST94Q06 Openness for Problem Solving - Quick to Understand
ST94Q09 Openness for Problem Solving - Seek Explanations
ST94Q10 Openness for Problem Solving - Can Link Facts
ST94Q14 Openness for Problem Solving - Like to Solve Complex Problems
ST96Q01 Problem Text Message - Press every button
ST96Q02 Problem Text Message - Trace steps
ST96Q03 Problem Text Message - Manual
ST96Q05 Problem Text Message - Ask a friend
ST101Q01 Problem Route Selection - Read brochure
ST101Q02 Problem Route Selection - Study map
ST101Q03 Problem Route Selection - Leave it to brother
ST101Q05 Problem Route Selection - Just drive
ST104Q01 Problem Ticket Machine - Similarities
ST104Q04 Problem Ticket Machine - Try buttons
ST104Q05 Problem Ticket Machine - Ask for help
ST104Q06 Problem Ticket Machine - Find ticket office
IC01Q01 At Home - Desktop Computer
IC01Q02 At Home - Portable laptop
IC01Q03 At Home - Tablet computer
IC01Q04 At Home - Internet connection
IC01Q05 At Home - Video games console
IC01Q06 At Home - Cell phone w/o Internet
IC01Q07 At Home - Cell phone with Internet
IC01Q08 At Home - Mp3/Mp4 player
IC01Q09 At Home - Printer
IC01Q10 At Home - USB (memory) stick
IC01Q11 At Home - Ebook reader
IC02Q01 At school - Desktop Computer
IC02Q02 At school - Portable laptop
IC02Q03 At school - Tablet computer
IC02Q04 At school - Internet connection
IC02Q05 At school - Printer
IC02Q06 At school - USB (memory) stick
IC02Q07 At school - Ebook reader
IC03Q01 First use of computers
IC04Q01 First access to Internet
IC05Q01 Internet at School
IC06Q01 Internet out-of-school - Weekday
IC07Q01 Internet out-of-school - Weekend
IC08Q01 Out-of-school 8 - One player games.
IC08Q02 Out-of-school 8 - ColLabourative games.
IC08Q03 Out-of-school 8 - Use email
IC08Q04 Out-of-school 8 - Chat on line
IC08Q05 Out-of-school 8 - Social networks
IC08Q06 Out-of-school 8 - Browse the Internet for fun
IC08Q07 Out-of-school 8 - Read news
IC08Q08 Out-of-school 8 - Obtain practical information from the Internet
IC08Q09 Out-of-school 8 - Download music
IC08Q11 Out-of-school 8 - Upload content
IC09Q01 Out-of-school 9 - Internet for school
IC09Q02 Out-of-school 9 - Email students
IC09Q03 Out-of-school 9 - Email teachers
IC09Q04 Out-of-school 9 - Download from School
IC09Q05 Out-of-school 9 - Announcements
IC09Q06 Out-of-school 9 - Homework
IC09Q07 Out-of-school 9 - Share school material
IC10Q01 At School - Chat on line
IC10Q02 At School - Email
IC10Q03 At School - Browse for schoolwork
IC10Q04 At School - Download from website
IC10Q05 At School - Post on website
IC10Q06 At School - Simulations
IC10Q07 At School - Practice and drilling
IC10Q08 At School - Homework
IC10Q09 At School - Group work
IC11Q01 Maths lessons - Draw graph
IC11Q02 Maths lessons - Calculation with numbers
IC11Q03 Maths lessons - Geometric figures
IC11Q04 Maths lessons - Spreadsheet
IC11Q05 Maths lessons - Algebra
IC11Q06 Maths lessons - Histograms
IC11Q07 Maths lessons - Change in graphs
IC22Q01 Attitudes - Useful for schoolwork
IC22Q02 Attitudes - Homework more fun
IC22Q04 Attitudes - Source of information
IC22Q06 Attitudes - Troublesome
IC22Q07 Attitudes - Not suitable for schoolwork
IC22Q08 Attitudes - Too unreliable
EC01Q01 Miss 2 months of <ISCED 1>
EC02Q01 Miss 2 months of <ISCED 2>
EC03Q01 Future Orientation - Internship
EC03Q02 Future Orientation - Work-site visits
EC03Q03 Future Orientation - Job fair
EC03Q04 Future Orientation - Career advisor at school
EC03Q05 Future Orientation - Career advisor outside school
EC03Q06 Future Orientation - Questionnaire
EC03Q07 Future Orientation - Internet search
EC03Q08 Future Orientation - Tour<ISCED 3-5> institution
EC03Q09 Future Orientation - web search <ISCED 3-5> prog
EC03Q10 Future Orientation - <country specific item>
EC04Q01A Acquired skills - Find job info - Yes, at school
EC04Q01B Acquired skills - Find job info - Yes, out of school
EC04Q01C Acquired skills - Find job info - No, never
EC04Q02A Acquired skills - Search for job - Yes, at school
EC04Q02B Acquired skills - Search for job - Yes, out of school
EC04Q02C Acquired skills - Search for job - No, never
EC04Q03A Acquired skills - Write resume - Yes, at school
EC04Q03B Acquired skills - Write resume - Yes, out of school
EC04Q03C Acquired skills - Write resume - No, never
EC04Q04A Acquired skills - Job interview - Yes, at school
EC04Q04B Acquired skills - Job interview - Yes, out of school
EC04Q04C Acquired skills - Job interview - No, never
EC04Q05A Acquired skills - ISCED 3-5 programs - Yes, at school
EC04Q05B Acquired skills - ISCED 3-5 programs - Yes, out of school
EC04Q05C Acquired skills - ISCED 3-5 programs - No, never
EC04Q06A Acquired skills - Student financing - Yes, at school
EC04Q06B Acquired skills - Student financing - Yes, out of school
EC04Q06C Acquired skills - Student financing - No, never
EC05Q01 First language learned
EC06Q01 Age started learning <test language>
EC07Q01 Language spoken - Mother
EC07Q02 Language spoken - Father
EC07Q03 Language spoken - Siblings
EC07Q04 Language spoken - Best friend
EC07Q05 Language spoken - Schoolmates
EC08Q01 Activities language - Reading
EC08Q02 Activities language - Watching TV
EC08Q03 Activities language - Internet surfing
EC08Q04 Activities language - Writing emails
EC09Q03 Types of support <test language> - remedial lessons
EC10Q01 Amount of support <test language>
EC11Q02 Attend lessons <heritage language> - focused
EC11Q03 Attend lessons <heritage language> - school subjects
EC12Q01 Instruction in <heritage language>
ST22Q01 Acculturation - Mother Immigrant (Filter)
ST23Q01 Acculturation - Enjoy <Host Culture> Friends
ST23Q02 Acculturation - Enjoy <Heritage Culture> Friends
ST23Q03 Acculturation - Enjoy <Host Culture> Celebrations
ST23Q04 Acculturation - Enjoy <Heritage Culture> Celebrations
ST23Q05 Acculturation - Spend Time with <Host Culture> Friends
ST23Q06 Acculturation - Spend Time with <Heritage Culture> Friends
ST23Q07 Acculturation - Participate in <Host Culture> Celebrations
ST23Q08 Acculturation - Participate in <Heritage Culture> Celebrations
ST24Q01 Acculturation - Perceived Host-Heritage Cultural Differences - Values
ST24Q02 Acculturation - Perceived Host-Heritage Cultural Differences - Mother Treatment
ST24Q03 Acculturation - Perceived Host-Heritage Cultural Differences - Teacher Treatment
CLCUSE1 Calculator Use
CLCUSE301 Effort-real 1
CLCUSE302 Effort-real 2
DEFFORT Difference in Effort
QUESTID Student Questionnaire Form
BOOKID Booklet ID
EASY Standard or simplified set of booklets
AGE Age of student
GRADE Grade compared to modal grade in country
PROGN Unique national study programme code
ANXMAT Mathematics Anxiety
ATSCHL Attitude towards School: Learning Outcomes
ATTLNACT Attitude towards School: Learning Activities
BELONG Sense of Belonging to School
BFMJ2 Father SQ ISEI
BMMJ1 Mother SQ ISEI
CLSMAN Mathematics Teacher's Classroom Management
COBN_F Country of Birth National Categories- Father
COBN_M Country of Birth National Categories- Mother
COBN_S Country of Birth National Categories- Self
COGACT Cognitive Activation in Mathematics Lessons
CULTDIST Cultural Distance between Host and Heritage Culture
CULTPOS Cultural Possessions
DISCLIMA Disciplinary Climate
ENTUSE ICT Entertainment Use
ESCS Index of economic, social and cultural status
EXAPPLM Experience with Applied Mathematics Tasks at School
EXPUREM Experience with Pure Mathematics Tasks at School
FAILMAT Attributions to Failure in Mathematics
FAMCON Familiarity with Mathematical Concepts
FAMCONC Familiarity with Mathematical Concepts (Signal Detection Adjusted)
FAMSTRUC Family Structure
FISCED Educational level of father (ISCED)
HEDRES Home educational resources
HERITCUL Acculturation: Heritage Culture Oriented Strategies
HISCED Highest educational level of parents
HISEI Highest parental occupational status
HOMEPOS Home Possessions
HOMSCH ICT Use at Home for School-related Tasks
HOSTCUL Acculturation: Host Culture Oriented Strategies
ICTATTNEG Attitudes Towards Computers: Limitations of the Computer as a Tool for School Learning
ICTATTPOS Attitudes Towards Computers: Computer as a Tool for School Learning
ICTHOME ICT Availability at Home
ICTRES ICT resources
ICTSCH ICT Availability at School
IMMIG Immigration status
INFOCAR Information about Careers
INFOJOB1 Information about the Labour Market provided by the School
INFOJOB2 Information about the Labour Market provided outside of School
INSTMOT Instrumental Motivation for Mathematics
INTMAT Mathematics Interest
ISCEDD ISCED designation
ISCEDL ISCED level
ISCEDO ISCED orientation
LANGCOMM Preference for Heritage Language in Conversations with Family and Friends
LANGN Language at home (3-digit code)
LANGRPPD Preference for Heritage Language in Language Reception and Production
LMINS Learning time (minutes per week) - <test language>
MATBEH Mathematics Behaviour
MATHEFF Mathematics Self-Efficacy
MATINTFC Mathematics Intentions
MATWKETH Mathematics Work Ethic
MISCED Educational level of mother (ISCED)
MMINS Learning time (minutes per week)- <Mathematics>
MTSUP Mathematics Teacher's Support
OCOD1 ISCO-08 Occupation code - Mother
OCOD2 ISCO-08 Occupation code - Father
OPENPS Openness for Problem Solving
OUTHOURS Out-of-School Study Time
PARED Highest parental education in years
PERSEV Perseverance
REPEAT Grade Repetition
SCMAT Mathematics Self-Concept
SMINS Learning time (minutes per week) - <Science>
STUDREL Teacher Student Relations
SUBNORM Subjective Norms in Mathematics
TCHBEHFA Teacher Behaviour: Formative Assessment
TCHBEHSO Teacher Behaviour: Student Orientation
TCHBEHTD Teacher Behaviour: Teacher-directed Instruction
TEACHSUP Teacher Support
TESTLANG Language of the test
TIMEINT Time of computer use (mins)
USEMATH Use of ICT in Mathematic Lessons
USESCH Use of ICT at School
WEALTH Wealth
ANCATSCHL Attitude towards School: Learning Outcomes (Anchored)
ANCATTLNACT Attitude towards School: Learning Activities (Anchored)
ANCBELONG Sense of Belonging to School (Anchored)
ANCCLSMAN Mathematics Teacher's Classroom Management (Anchored)
ANCCOGACT Cognitive Activation in Mathematics Lessons (Anchored)
ANCINSTMOT Instrumental Motivation for Mathematics (Anchored)
ANCINTMAT Mathematics Interest (Anchored)
ANCMATWKETH Mathematics Work Ethic (Anchored)
ANCMTSUP Mathematics Teacher's Support (Anchored)
ANCSCMAT Mathematics Self-Concept (Anchored)
ANCSTUDREL Teacher Student Relations (Anchored)
ANCSUBNORM Subjective Norms in Mathematics (Anchored)
PV1MATH Plausible value 1 in mathematics
PV2MATH Plausible value 2 in mathematics
PV3MATH Plausible value 3 in mathematics
PV4MATH Plausible value 4 in mathematics
PV5MATH Plausible value 5 in mathematics
PV1MACC Plausible value 1 in content subscale of math - Change and Relationships
PV2MACC Plausible value 2 in content subscale of math - Change and Relationships
PV3MACC Plausible value 3 in content subscale of math - Change and Relationships
PV4MACC Plausible value 4 in content subscale of math - Change and Relationships
PV5MACC Plausible value 5 in content subscale of math - Change and Relationships
PV1MACQ Plausible value 1 in content subscale of math - Quantity
PV2MACQ Plausible value 2 in content subscale of math - Quantity
PV3MACQ Plausible value 3 in content subscale of math - Quantity
PV4MACQ Plausible value 4 in content subscale of math - Quantity
PV5MACQ Plausible value 5 in content subscale of math - Quantity
PV1MACS Plausible value 1 in content subscale of math - Space and Shape
PV2MACS Plausible value 2 in content subscale of math - Space and Shape
PV3MACS Plausible value 3 in content subscale of math - Space and Shape
PV4MACS Plausible value 4 in content subscale of math - Space and Shape
PV5MACS Plausible value 5 in content subscale of math - Space and Shape
PV1MACU Plausible value 1 in content subscale of math - Uncertainty and Data
PV2MACU Plausible value 2 in content subscale of math - Uncertainty and Data
PV3MACU Plausible value 3 in content subscale of math - Uncertainty and Data
PV4MACU Plausible value 4 in content subscale of math - Uncertainty and Data
PV5MACU Plausible value 5 in content subscale of math - Uncertainty and Data
PV1MAPE Plausible value 1 in process subscale of math - Employ
PV2MAPE Plausible value 2 in process subscale of math - Employ
PV3MAPE Plausible value 3 in process subscale of math - Employ
PV4MAPE Plausible value 4 in process subscale of math - Employ
PV5MAPE Plausible value 5 in process subscale of math - Employ
PV1MAPF Plausible value 1 in process subscale of math - Formulate
PV2MAPF Plausible value 2 in process subscale of math - Formulate
PV3MAPF Plausible value 3 in process subscale of math - Formulate
PV4MAPF Plausible value 4 in process subscale of math - Formulate
PV5MAPF Plausible value 5 in process subscale of math - Formulate
PV1MAPI Plausible value 1 in process subscale of math - Interpret
PV2MAPI Plausible value 2 in process subscale of math - Interpret
PV3MAPI Plausible value 3 in process subscale of math - Interpret
PV4MAPI Plausible value 4 in process subscale of math - Interpret
PV5MAPI Plausible value 5 in process subscale of math - Interpret
PV1READ Plausible value 1 in reading
PV2READ Plausible value 2 in reading
PV3READ Plausible value 3 in reading
PV4READ Plausible value 4 in reading
PV5READ Plausible value 5 in reading
PV1SCIE Plausible value 1 in science
PV2SCIE Plausible value 2 in science
PV3SCIE Plausible value 3 in science
PV4SCIE Plausible value 4 in science
PV5SCIE Plausible value 5 in science
W_FSTUWT FINAL STUDENT WEIGHT
W_FSTR1 FINAL STUDENT REPLICATE BRR-FAY WEIGHT1
W_FSTR2 FINAL STUDENT REPLICATE BRR-FAY WEIGHT2
W_FSTR3 FINAL STUDENT REPLICATE BRR-FAY WEIGHT3
W_FSTR4 FINAL STUDENT REPLICATE BRR-FAY WEIGHT4
W_FSTR5 FINAL STUDENT REPLICATE BRR-FAY WEIGHT5
W_FSTR6 FINAL STUDENT REPLICATE BRR-FAY WEIGHT6
W_FSTR7 FINAL STUDENT REPLICATE BRR-FAY WEIGHT7
W_FSTR8 FINAL STUDENT REPLICATE BRR-FAY WEIGHT8
W_FSTR9 FINAL STUDENT REPLICATE BRR-FAY WEIGHT9
W_FSTR10 FINAL STUDENT REPLICATE BRR-FAY WEIGHT10
W_FSTR11 FINAL STUDENT REPLICATE BRR-FAY WEIGHT11
W_FSTR12 FINAL STUDENT REPLICATE BRR-FAY WEIGHT12
W_FSTR13 FINAL STUDENT REPLICATE BRR-FAY WEIGHT13
W_FSTR14 FINAL STUDENT REPLICATE BRR-FAY WEIGHT14
W_FSTR15 FINAL STUDENT REPLICATE BRR-FAY WEIGHT15
W_FSTR16 FINAL STUDENT REPLICATE BRR-FAY WEIGHT16
W_FSTR17 FINAL STUDENT REPLICATE BRR-FAY WEIGHT17
W_FSTR18 FINAL STUDENT REPLICATE BRR-FAY WEIGHT18
W_FSTR19 FINAL STUDENT REPLICATE BRR-FAY WEIGHT19
W_FSTR20 FINAL STUDENT REPLICATE BRR-FAY WEIGHT20
W_FSTR21 FINAL STUDENT REPLICATE BRR-FAY WEIGHT21
W_FSTR22 FINAL STUDENT REPLICATE BRR-FAY WEIGHT22
W_FSTR23 FINAL STUDENT REPLICATE BRR-FAY WEIGHT23
W_FSTR24 FINAL STUDENT REPLICATE BRR-FAY WEIGHT24
W_FSTR25 FINAL STUDENT REPLICATE BRR-FAY WEIGHT25
W_FSTR26 FINAL STUDENT REPLICATE BRR-FAY WEIGHT26
W_FSTR27 FINAL STUDENT REPLICATE BRR-FAY WEIGHT27
W_FSTR28 FINAL STUDENT REPLICATE BRR-FAY WEIGHT28
W_FSTR29 FINAL STUDENT REPLICATE BRR-FAY WEIGHT29
W_FSTR30 FINAL STUDENT REPLICATE BRR-FAY WEIGHT30
W_FSTR31 FINAL STUDENT REPLICATE BRR-FAY WEIGHT31
W_FSTR32 FINAL STUDENT REPLICATE BRR-FAY WEIGHT32
W_FSTR33 FINAL STUDENT REPLICATE BRR-FAY WEIGHT33
W_FSTR34 FINAL STUDENT REPLICATE BRR-FAY WEIGHT34
W_FSTR35 FINAL STUDENT REPLICATE BRR-FAY WEIGHT35
W_FSTR36 FINAL STUDENT REPLICATE BRR-FAY WEIGHT36
W_FSTR37 FINAL STUDENT REPLICATE BRR-FAY WEIGHT37
W_FSTR38 FINAL STUDENT REPLICATE BRR-FAY WEIGHT38
W_FSTR39 FINAL STUDENT REPLICATE BRR-FAY WEIGHT39
W_FSTR40 FINAL STUDENT REPLICATE BRR-FAY WEIGHT40
W_FSTR41 FINAL STUDENT REPLICATE BRR-FAY WEIGHT41
W_FSTR42 FINAL STUDENT REPLICATE BRR-FAY WEIGHT42
W_FSTR43 FINAL STUDENT REPLICATE BRR-FAY WEIGHT43
W_FSTR44 FINAL STUDENT REPLICATE BRR-FAY WEIGHT44
W_FSTR45 FINAL STUDENT REPLICATE BRR-FAY WEIGHT45
W_FSTR46 FINAL STUDENT REPLICATE BRR-FAY WEIGHT46
W_FSTR47 FINAL STUDENT REPLICATE BRR-FAY WEIGHT47
W_FSTR48 FINAL STUDENT REPLICATE BRR-FAY WEIGHT48
W_FSTR49 FINAL STUDENT REPLICATE BRR-FAY WEIGHT49
W_FSTR50 FINAL STUDENT REPLICATE BRR-FAY WEIGHT50
W_FSTR51 FINAL STUDENT REPLICATE BRR-FAY WEIGHT51
W_FSTR52 FINAL STUDENT REPLICATE BRR-FAY WEIGHT52
W_FSTR53 FINAL STUDENT REPLICATE BRR-FAY WEIGHT53
W_FSTR54 FINAL STUDENT REPLICATE BRR-FAY WEIGHT54
W_FSTR55 FINAL STUDENT REPLICATE BRR-FAY WEIGHT55
W_FSTR56 FINAL STUDENT REPLICATE BRR-FAY WEIGHT56
W_FSTR57 FINAL STUDENT REPLICATE BRR-FAY WEIGHT57
W_FSTR58 FINAL STUDENT REPLICATE BRR-FAY WEIGHT58
W_FSTR59 FINAL STUDENT REPLICATE BRR-FAY WEIGHT59
W_FSTR60 FINAL STUDENT REPLICATE BRR-FAY WEIGHT60
W_FSTR61 FINAL STUDENT REPLICATE BRR-FAY WEIGHT61
W_FSTR62 FINAL STUDENT REPLICATE BRR-FAY WEIGHT62
W_FSTR63 FINAL STUDENT REPLICATE BRR-FAY WEIGHT63
W_FSTR64 FINAL STUDENT REPLICATE BRR-FAY WEIGHT64
W_FSTR65 FINAL STUDENT REPLICATE BRR-FAY WEIGHT65
W_FSTR66 FINAL STUDENT REPLICATE BRR-FAY WEIGHT66
W_FSTR67 FINAL STUDENT REPLICATE BRR-FAY WEIGHT67
W_FSTR68 FINAL STUDENT REPLICATE BRR-FAY WEIGHT68
W_FSTR69 FINAL STUDENT REPLICATE BRR-FAY WEIGHT69
W_FSTR70 FINAL STUDENT REPLICATE BRR-FAY WEIGHT70
W_FSTR71 FINAL STUDENT REPLICATE BRR-FAY WEIGHT71
W_FSTR72 FINAL STUDENT REPLICATE BRR-FAY WEIGHT72
W_FSTR73 FINAL STUDENT REPLICATE BRR-FAY WEIGHT73
W_FSTR74 FINAL STUDENT REPLICATE BRR-FAY WEIGHT74
W_FSTR75 FINAL STUDENT REPLICATE BRR-FAY WEIGHT75
W_FSTR76 FINAL STUDENT REPLICATE BRR-FAY WEIGHT76
W_FSTR77 FINAL STUDENT REPLICATE BRR-FAY WEIGHT77
W_FSTR78 FINAL STUDENT REPLICATE BRR-FAY WEIGHT78
W_FSTR79 FINAL STUDENT REPLICATE BRR-FAY WEIGHT79
W_FSTR80 FINAL STUDENT REPLICATE BRR-FAY WEIGHT80
WVARSTRR RANDOMIZED FINAL VARIANCE STRATUM (1-80)
VAR_UNIT RANDOMLY ASSIGNED VARIANCE UNIT
SENWGT_STU Senate weight - sum of weight within the country is 1000
VER_STU Date of the database creation
In [5]:
pd.reset_option('all', True)
In [6]:
%%time
pisa2012 =pd.read_csv('pisa2012.csv', encoding='latin1', index_col=0, 
                      error_bad_lines=False, warn_bad_lines=True,
                      low_memory=False, skiprows=[241337])
CPU times: user 1min 6s, sys: 29.4 s, total: 1min 35s
Wall time: 11min 45s
In [7]:
pd.set_option('display.max_columns', 1000)
pd.set_option('display.max_info_columns', 1000)
In [8]:
pisa2012.sample(10)
Out[8]:
CNT SUBNATIO STRATUM OECD NC SCHOOLID STIDSTD ST01Q01 ST02Q01 ST03Q01 ST03Q02 ST04Q01 ST05Q01 ST06Q01 ST07Q01 ST07Q02 ST07Q03 ST08Q01 ST09Q01 ST115Q01 ST11Q01 ST11Q02 ST11Q03 ST11Q04 ST11Q05 ST11Q06 ST13Q01 ST14Q01 ST14Q02 ST14Q03 ST14Q04 ST15Q01 ST17Q01 ST18Q01 ST18Q02 ST18Q03 ST18Q04 ST19Q01 ST20Q01 ST20Q02 ST20Q03 ST21Q01 ST25Q01 ST26Q01 ST26Q02 ST26Q03 ST26Q04 ST26Q05 ST26Q06 ST26Q07 ST26Q08 ST26Q09 ST26Q10 ST26Q11 ST26Q12 ST26Q13 ST26Q14 ST26Q15 ST26Q16 ST26Q17 ST27Q01 ST27Q02 ST27Q03 ST27Q04 ST27Q05 ST28Q01 ST29Q01 ST29Q02 ST29Q03 ST29Q04 ST29Q05 ST29Q06 ST29Q07 ST29Q08 ST35Q01 ST35Q02 ST35Q03 ST35Q04 ST35Q05 ST35Q06 ST37Q01 ST37Q02 ST37Q03 ST37Q04 ST37Q05 ST37Q06 ST37Q07 ST37Q08 ST42Q01 ST42Q02 ST42Q03 ST42Q04 ST42Q05 ST42Q06 ST42Q07 ST42Q08 ST42Q09 ST42Q10 ST43Q01 ST43Q02 ST43Q03 ST43Q04 ST43Q05 ST43Q06 ST44Q01 ST44Q03 ST44Q04 ST44Q05 ST44Q07 ST44Q08 ST46Q01 ST46Q02 ST46Q03 ST46Q04 ST46Q05 ST46Q06 ST46Q07 ST46Q08 ST46Q09 ST48Q01 ST48Q02 ST48Q03 ST48Q04 ST48Q05 ST49Q01 ST49Q02 ST49Q03 ST49Q04 ST49Q05 ST49Q06 ST49Q07 ST49Q09 ST53Q01 ST53Q02 ST53Q03 ST53Q04 ST55Q01 ST55Q02 ST55Q03 ST55Q04 ST57Q01 ST57Q02 ST57Q03 ST57Q04 ST57Q05 ST57Q06 ST61Q01 ST61Q02 ST61Q03 ST61Q04 ST61Q05 ST61Q06 ST61Q07 ST61Q08 ST61Q09 ST62Q01 ST62Q02 ST62Q03 ST62Q04 ST62Q06 ST62Q07 ST62Q08 ST62Q09 ST62Q10 ST62Q11 ST62Q12 ST62Q13 ST62Q15 ST62Q16 ST62Q17 ST62Q19 ST69Q01 ST69Q02 ST69Q03 ST70Q01 ST70Q02 ST70Q03 ST71Q01 ST72Q01 ST73Q01 ST73Q02 ST74Q01 ST74Q02 ST75Q01 ST75Q02 ST76Q01 ST76Q02 ST77Q01 ST77Q02 ST77Q04 ST77Q05 ST77Q06 ST79Q01 ST79Q02 ST79Q03 ST79Q04 ST79Q05 ST79Q06 ST79Q07 ST79Q08 ST79Q10 ST79Q11 ST79Q12 ST79Q15 ST79Q17 ST80Q01 ST80Q04 ST80Q05 ST80Q06 ST80Q07 ST80Q08 ST80Q09 ST80Q10 ST80Q11 ST81Q01 ST81Q02 ST81Q03 ST81Q04 ST81Q05 ST82Q01 ST82Q02 ST82Q03 ST83Q01 ST83Q02 ST83Q03 ST83Q04 ST84Q01 ST84Q02 ST84Q03 ST85Q01 ST85Q02 ST85Q03 ST85Q04 ST86Q01 ST86Q02 ST86Q03 ST86Q04 ST86Q05 ST87Q01 ST87Q02 ST87Q03 ST87Q04 ST87Q05 ST87Q06 ST87Q07 ST87Q08 ST87Q09 ST88Q01 ST88Q02 ST88Q03 ST88Q04 ST89Q02 ST89Q03 ST89Q04 ST89Q05 ST91Q01 ST91Q02 ST91Q03 ST91Q04 ST91Q05 ST91Q06 ST93Q01 ST93Q03 ST93Q04 ST93Q06 ST93Q07 ST94Q05 ST94Q06 ST94Q09 ST94Q10 ST94Q14 ST96Q01 ST96Q02 ST96Q03 ST96Q05 ST101Q01 ST101Q02 ST101Q03 ST101Q05 ST104Q01 ST104Q04 ST104Q05 ST104Q06 IC01Q01 IC01Q02 IC01Q03 IC01Q04 IC01Q05 IC01Q06 IC01Q07 IC01Q08 IC01Q09 IC01Q10 IC01Q11 IC02Q01 IC02Q02 IC02Q03 IC02Q04 IC02Q05 IC02Q06 IC02Q07 IC03Q01 IC04Q01 IC05Q01 IC06Q01 IC07Q01 IC08Q01 IC08Q02 IC08Q03 IC08Q04 IC08Q05 IC08Q06 IC08Q07 IC08Q08 IC08Q09 IC08Q11 IC09Q01 IC09Q02 IC09Q03 IC09Q04 IC09Q05 IC09Q06 IC09Q07 IC10Q01 IC10Q02 IC10Q03 IC10Q04 IC10Q05 IC10Q06 IC10Q07 IC10Q08 IC10Q09 IC11Q01 IC11Q02 IC11Q03 IC11Q04 IC11Q05 IC11Q06 IC11Q07 IC22Q01 IC22Q02 IC22Q04 IC22Q06 IC22Q07 IC22Q08 EC01Q01 EC02Q01 EC03Q01 EC03Q02 EC03Q03 EC03Q04 EC03Q05 EC03Q06 EC03Q07 EC03Q08 EC03Q09 EC03Q10 EC04Q01A EC04Q01B EC04Q01C EC04Q02A EC04Q02B EC04Q02C EC04Q03A EC04Q03B EC04Q03C EC04Q04A EC04Q04B EC04Q04C EC04Q05A EC04Q05B EC04Q05C EC04Q06A EC04Q06B EC04Q06C EC05Q01 EC06Q01 EC07Q01 EC07Q02 EC07Q03 EC07Q04 EC07Q05 EC08Q01 EC08Q02 EC08Q03 EC08Q04 EC09Q03 EC10Q01 EC11Q02 EC11Q03 EC12Q01 ST22Q01 ST23Q01 ST23Q02 ST23Q03 ST23Q04 ST23Q05 ST23Q06 ST23Q07 ST23Q08 ST24Q01 ST24Q02 ST24Q03 CLCUSE1 CLCUSE301 CLCUSE302 DEFFORT QUESTID BOOKID EASY AGE GRADE PROGN ANXMAT ATSCHL ATTLNACT BELONG BFMJ2 BMMJ1 CLSMAN COBN_F COBN_M COBN_S COGACT CULTDIST CULTPOS DISCLIMA ENTUSE ESCS EXAPPLM EXPUREM FAILMAT FAMCON FAMCONC FAMSTRUC FISCED HEDRES HERITCUL HISCED HISEI HOMEPOS HOMSCH HOSTCUL ICTATTNEG ICTATTPOS ICTHOME ICTRES ICTSCH IMMIG INFOCAR INFOJOB1 INFOJOB2 INSTMOT INTMAT ISCEDD ISCEDL ISCEDO LANGCOMM LANGN LANGRPPD LMINS MATBEH MATHEFF MATINTFC MATWKETH MISCED MMINS MTSUP OCOD1 OCOD2 OPENPS OUTHOURS PARED PERSEV REPEAT SCMAT SMINS STUDREL SUBNORM TCHBEHFA TCHBEHSO TCHBEHTD TEACHSUP TESTLANG TIMEINT USEMATH USESCH WEALTH ANCATSCHL ANCATTLNACT ANCBELONG ANCCLSMAN ANCCOGACT ANCINSTMOT ANCINTMAT ANCMATWKETH ANCMTSUP ANCSCMAT ANCSTUDREL ANCSUBNORM PV1MATH PV2MATH PV3MATH PV4MATH PV5MATH PV1MACC PV2MACC PV3MACC PV4MACC PV5MACC PV1MACQ PV2MACQ PV3MACQ PV4MACQ PV5MACQ PV1MACS PV2MACS PV3MACS PV4MACS PV5MACS PV1MACU PV2MACU PV3MACU PV4MACU PV5MACU PV1MAPE PV2MAPE PV3MAPE PV4MAPE PV5MAPE PV1MAPF PV2MAPF PV3MAPF PV4MAPF PV5MAPF PV1MAPI PV2MAPI PV3MAPI PV4MAPI PV5MAPI PV1READ PV2READ PV3READ PV4READ PV5READ PV1SCIE PV2SCIE PV3SCIE PV4SCIE PV5SCIE W_FSTUWT W_FSTR1 W_FSTR2 W_FSTR3 W_FSTR4 W_FSTR5 W_FSTR6 W_FSTR7 W_FSTR8 W_FSTR9 W_FSTR10 W_FSTR11 W_FSTR12 W_FSTR13 W_FSTR14 W_FSTR15 W_FSTR16 W_FSTR17 W_FSTR18 W_FSTR19 W_FSTR20 W_FSTR21 W_FSTR22 W_FSTR23 W_FSTR24 W_FSTR25 W_FSTR26 W_FSTR27 W_FSTR28 W_FSTR29 W_FSTR30 W_FSTR31 W_FSTR32 W_FSTR33 W_FSTR34 W_FSTR35 W_FSTR36 W_FSTR37 W_FSTR38 W_FSTR39 W_FSTR40 W_FSTR41 W_FSTR42 W_FSTR43 W_FSTR44 W_FSTR45 W_FSTR46 W_FSTR47 W_FSTR48 W_FSTR49 W_FSTR50 W_FSTR51 W_FSTR52 W_FSTR53 W_FSTR54 W_FSTR55 W_FSTR56 W_FSTR57 W_FSTR58 W_FSTR59 W_FSTR60 W_FSTR61 W_FSTR62 W_FSTR63 W_FSTR64 W_FSTR65 W_FSTR66 W_FSTR67 W_FSTR68 W_FSTR69 W_FSTR70 W_FSTR71 W_FSTR72 W_FSTR73 W_FSTR74 W_FSTR75 W_FSTR76 W_FSTR77 W_FSTR78 W_FSTR79 W_FSTR80 WVARSTRR VAR_UNIT SENWGT_STU VER_STU
57404 Brazil 760000 BRA1130 Non-OECD Brazil 104 2138 10 1.0 2 1996 Male No 7.0 Yes, once NaN NaN One or two times None 2.0 Yes Yes No Yes No Yes She did not complete <ISCED level 1> No No No No Other (e.g. home duties, retired) <ISCED level 2> No No No No Working full-time <for pay> Country of test Country of test Country of test NaN Language of the test Yes No No No No Yes No No No Yes No Yes Yes Yes 76001 76001 9999999 Three or more One None One One 11-25 books Disagree Agree Strongly disagree Agree Agree Disagree Agree Disagree Agree Disagree Disagree Agree Agree Agree Not very confident Confident Not very confident Not at all confident Not at all confident Not very confident Confident Not very confident NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Agree Agree Disagree Agree Agree Agree Likely Likely Slightly likely Slightly likely Likely Likely Disagree Disagree Agree Agree Disagree Disagree Disagree Disagree Agree Courses after school Test Language Major in college Science Study harder Test Language Maximum classes Science Pursuing a career Science Often Sometimes Sometimes Never or rarely Sometimes Sometimes Often Never or rarely by heart check memory in my sleep everyday life 2 or more but less than 4 hours a week 2 or more but less than 4 hours a week Less than 2 hours a week Less than 2 hours a week 1.0 NaN 1.0 NaN 3.0 1.0 Frequently Sometimes Sometimes Sometimes Frequently Sometimes Sometimes Sometimes Frequently Never heard of it Heard of it often Never heard of it Heard of it often Heard of it often Heard of it often Heard of it often Heard of it often Heard of it often Heard of it often Heard of it often Never heard of it Never heard of it Heard of it often Heard of it often Heard of it often 30.0 30.0 30.0 4.0 4.0 2.0 12.0 40.0 Rarely Frequently Frequently Frequently Rarely Rarely Rarely Rarely NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Mostly like me Mostly like me Somewhat like me Somewhat like me Not much like me Somewhat like me Somewhat like me Mostly like me Somewhat like me Somewhat like me probably do this definitely not do this definitely not do this probably do this 2.0 4.0 2.0 2.0 2.0 2.0 2.0 3.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 97 97 97 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN A Simple calculator 8 7 -1 StQ Form A booklet 13 Easier set of booklets 16.25 -1.0 Brazil: Upper secondary education NaN NaN NaN NaN 11.87 NaN NaN Brazil Brazil Brazil NaN NaN -1.51 NaN NaN -2.35 0.7694 0.1674 0.1524 -0.0355 -0.87 2.0 ISCED 2 -1.80 NaN ISCED 2 11.87 -1.75 NaN NaN NaN NaN NaN -1.99 NaN Native NaN NaN NaN -0.39 -0.34 A ISCED level 3 General NaN Portuguese NaN 120.0 0.9618 -1.36 -1.5329 -0.7235 None 120.0 NaN Housewife Agricultural, forestry and fishery labourers -0.3443 6.0 8.0 -0.9207 Repeated a <grade> NaN 60.0 NaN -0.0455 NaN NaN NaN NaN Portuguese NaN NaN NaN -1.20 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 406.7690 395.0849 360.0327 347.5697 379.5062 294.6020 390.4113 314.8543 364.7063 314.8543 318.7490 413.7794 350.6855 378.7272 371.7168 339.0014 387.2955 362.3695 430.1371 378.7272 351.4644 439.4843 371.7168 425.4635 404.4322 362.3695 369.3800 376.3904 381.8430 367.8221 317.9701 316.4122 351.4644 362.3695 311.7386 420.7898 396.6428 409.1058 401.3164 389.6323 381.8680 373.0466 349.7902 316.1085 380.2641 380.9586 380.0261 352.9840 322.2119 416.3931 65.3095 110.3822 19.2776 110.3822 19.2776 110.3822 110.3822 110.3822 110.3822 19.2776 19.2776 110.3822 19.2776 19.2776 110.3822 110.3822 19.2776 19.2776 19.2776 19.2776 110.3822 19.2776 110.3822 19.2776 110.3822 19.2776 19.2776 19.2776 19.2776 110.3822 110.3822 19.2776 110.3822 110.3822 19.2776 19.2776 110.3822 110.3822 110.3822 110.3822 19.2776 19.2776 110.3822 19.2776 110.3822 19.2776 19.2776 19.2776 19.2776 110.3822 110.3822 19.2776 110.3822 110.3822 19.2776 19.2776 110.3822 110.3822 110.3822 110.3822 19.2776 110.3822 19.2776 110.3822 19.2776 110.3822 110.3822 110.3822 110.3822 19.2776 19.2776 110.3822 19.2776 19.2776 110.3822 110.3822 19.2776 19.2776 19.2776 19.2776 110.3822 3 1 0.0277 22NOV13
91886 Canada 1240000 CAN0766 OECD Canada 712 17416 10 2.0 6 1996 Male Yes, for one year or less 6.0 No, never No, never No, never None None 1.0 Yes Yes Yes NaN NaN NaN <ISCED level 3A> No Yes Yes Yes Other (e.g. home duties, retired) <ISCED level 3A> No No No Yes Working full-time <for pay> Country of test Country of test Country of test NaN Other language Yes Yes No Yes Yes Yes Yes Yes No No No Yes Yes Yes 124001 124002 124001 One Three or more One One One 201-500 books Agree Agree Disagree Disagree Agree Agree Disagree Strongly agree Strongly agree Strongly agree Disagree Strongly agree Strongly agree Strongly agree Very confident Very confident Very confident Very confident Very confident Not very confident Confident Confident Strongly agree Agree Agree Agree Disagree Agree Disagree Disagree Disagree Agree Agree Disagree Disagree Disagree Agree Disagree Likely Likely Likely Likely Likely Very Likely Agree Strongly agree Disagree Disagree Disagree Agree Strongly agree Strongly agree Disagree Courses after school Math Major in college Science Study harder Math Maximum classes Science Pursuing a career Science Often Sometimes Never or rarely Never or rarely Never or rarely Never or rarely Always or almost always Never or rarely NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Most Lessons Every Lesson Every Lesson Some Lessons Every Lesson Most Lessons Every Lesson Most Lessons Never or Hardly Ever Every Lesson Every Lesson Every Lesson Every Lesson Most Lessons Some Lessons Most Lessons Every Lesson Most Lessons Often Often Always or almost always Always or almost always Often Always or almost always Always or almost always Always or almost always Often Never or Hardly Ever Some Lessons Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Strongly agree Agree Disagree Agree Strongly agree Strongly agree Strongly agree Disagree Strongly agree Disagree Strongly agree Strongly agree Strongly agree Disagree Agree Agree Agree Agree Agree Disagree Agree Agree Disagree Agree Disagree Agree Disagree Agree Agree Disagree Agree Agree Strongly agree Strongly agree Strongly agree Strongly agree Agree Disagree Agree Agree Agree Disagree Somewhat like me Mostly like me Mostly like me Mostly like me Mostly like me Mostly like me Very much like me Very much like me Very much like me Very much like me definitely do this definitely do this probably do this definitely do this 1.0 1.0 4.0 3.0 1.0 3.0 1.0 2.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 97 97 97 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN No, never No, never No, never No, never No, never No, never No, never Yes Yes No, never Yes Yes 1.0 1.0 2.0 1.0 1.0 2.0 1.0 1.0 2.0 2.0 1.0 2.0 NaN NaN NaN 2.0 2.0 1.0 <test language> or <other official national la... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN No, never NaN No, never No, never NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN A Scientific calculator 7 10 3 StQ Form B booklet 8 Standard set of booklets 15.92 0.0 Canada: Grades 10 - 12 (Quebec: Secondary 4 a... 0.56 -0.64 1.2115 -0.56 51.56 24.98 1.2923 Canada Canada Canada 1.2684 NaN 0.25 1.19 NaN 0.25 NaN NaN 0.9139 NaN NaN 2.0 ISCED 3A, ISCED 4 -1.29 NaN ISCED 5A, 6 51.56 -0.72 NaN NaN NaN NaN NaN -0.40 NaN Native -0.0586 NaN NaN 0.05 0.30 M ISCED level 3 Modular NaN English NaN NaN 0.6426 0.54 -0.2514 0.1099 ISCED 5A, 6 NaN 1.1169 Teachers aides Retail and wholesale trade managers 1.6493 NaN 17.0 0.0511 Did not repeat a <grade> -0.06 NaN -0.02 2.2350 0.7644 1.1547 1.5697 0.34 French NaN NaN NaN -0.84 -0.1193 0.4908 0.0064 0.6690 0.8023 0.1111 0.1826 0.0753 0.5831 0.0358 0.2492 0.8413 621.9115 590.7540 560.3754 614.9011 596.9855 593.8698 597.7644 644.5007 618.0168 612.5643 586.0804 611.7853 721.6155 591.5329 600.8802 593.0908 647.6165 723.9523 662.4163 661.6373 585.3014 622.6905 642.1639 603.2170 602.4381 566.6069 577.5121 558.0386 514.4181 557.2597 638.2692 635.1535 618.0168 584.5225 622.6905 593.8698 600.1013 592.3119 514.4181 595.4276 577.1416 606.0116 531.4307 556.2910 575.5377 583.6815 616.3185 560.3693 604.1962 592.0739 1.1569 0.6064 0.5809 1.6869 1.7576 0.6022 1.7095 1.7233 0.5444 0.5759 1.7191 1.7426 1.6834 1.7426 0.5859 1.8066 0.5793 1.7426 0.5841 0.5759 0.5529 1.6845 1.7474 0.6101 0.5876 1.6845 0.5741 0.5730 1.7526 1.7932 0.5550 0.5859 0.5647 0.5825 1.7628 0.5841 1.7524 0.5859 1.7474 1.7150 1.7191 0.5997 0.5744 1.7056 1.7770 0.5997 1.6904 1.7336 0.5490 0.5825 1.7474 1.7233 1.7095 1.7150 0.5961 1.7874 0.5759 1.7233 0.5744 0.5793 0.5592 1.6587 1.7191 0.6217 0.5982 1.6530 0.5647 0.5859 1.7945 1.8259 0.5615 0.5759 0.5712 0.5759 1.7826 0.5744 1.7150 0.5759 1.7278 1.7524 1.7474 8 2 0.0033 22NOV13
56778 Brazil 760000 BRA1336 Non-OECD Brazil 73 1512 10 1.0 6 1996 Male Yes, for one year or less 8.0 No, never No, never No, never Three or four times None 1.0 Yes NaN NaN NaN NaN NaN <ISCED level 2> No No No No Other (e.g. home duties, retired) <ISCED level 2> No No No No Working full-time <for pay> Country of test Country of test Country of test NaN Language of the test Yes Yes Yes Yes No Yes Yes No Yes Yes No Yes No Yes 76002 76001 76002 Two One One None Two 0-10 books Disagree Disagree Disagree Disagree Disagree Disagree Disagree Disagree Disagree Disagree Disagree Agree Agree Agree Confident Confident Not at all confident Very confident Confident Not at all confident Not very confident Not at all confident NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Agree Disagree Agree Strongly disagree Agree Agree Very Likely Not at all likely Slightly likely Very Likely Slightly likely Not at all likely Disagree Disagree Strongly disagree Disagree Disagree Disagree Disagree Disagree Disagree Courses after school Test Language Major in college Science Study harder Test Language Maximum classes Science Pursuing a career Science Sometimes Sometimes Never or rarely Never or rarely Never or rarely Sometimes Never or rarely Never or rarely Most important check memory Relating to other subjects Repeat examples 2 or more but less than 4 hours a week Less than 2 hours a week 4 or more but less than 6 hours a week 6 or more hours a week 0.0 0.0 0.0 0.0 0.0 1.0 Sometimes Rarely Sometimes Frequently Never Never Never Never Sometimes Heard of it a few times Heard of it a few times Heard of it a few times Heard of it a few times Heard of it once or twice Heard of it once or twice Heard of it once or twice Heard of it a few times Heard of it often Heard of it once or twice Heard of it often Never heard of it Heard of it a few times Heard of it a few times Heard of it once or twice Heard of it once or twice 50.0 50.0 50.0 6.0 5.0 NaN 5.0 50.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Not much like me Mostly like me Somewhat like me Somewhat like me Not much like me Mostly like me Somewhat like me Very much like me Very much like me Somewhat like me probably not do this probably not do this probably not do this probably do this 3.0 3.0 3.0 2.0 3.0 3.0 1.0 1.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 97 97 97 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN A Simple calculator 5 4 -1 StQ Form A booklet 25 Easier set of booklets 15.92 -1.0 Brazil: Upper secondary education NaN NaN NaN NaN NaN 32.20 NaN Brazil Brazil Brazil NaN NaN 0.25 NaN NaN -1.76 -0.2531 -1.8388 -0.3017 -0.4275 -0.43 NaN ISCED 2 -0.69 NaN ISCED 2 32.20 -1.28 NaN NaN NaN NaN NaN -1.13 NaN Native NaN NaN NaN -1.12 -0.34 A ISCED level 3 General NaN Portuguese NaN 300.0 -0.0721 -1.06 -1.5329 -1.3412 ISCED 2 250.0 NaN Domestic housekeepers Vague(a good job, a quiet job, a well paid job... 0.4639 1.0 8.0 -0.5316 Did not repeat a <grade> NaN NaN NaN -0.3852 NaN NaN NaN NaN Portuguese NaN NaN NaN -1.47 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 359.3317 364.0053 374.1315 325.8374 347.6476 378.0262 353.8791 416.1941 381.1419 355.4370 353.1002 349.9844 385.8155 368.6789 331.2899 325.8374 306.3639 343.7529 378.8051 307.1429 314.9322 342.9740 334.4057 350.7634 303.2482 302.4692 328.9531 287.6694 350.7634 346.8687 360.8895 408.4047 337.5214 436.4465 427.8782 293.9009 315.7112 314.1533 370.2368 320.3848 443.4574 426.6165 408.1718 327.1753 359.2531 492.0179 450.0559 417.4189 468.7057 445.3935 246.0336 126.1085 126.1085 125.3326 360.3319 360.3319 360.3319 365.3830 125.3326 365.3830 125.3326 365.3830 126.1085 126.1085 126.1085 125.3326 360.3319 365.3830 125.3326 360.3319 365.3830 126.1085 126.1085 125.3326 360.3319 360.3319 360.3319 365.3830 125.3326 365.3830 125.3326 365.3830 126.1085 126.1085 126.1085 125.3326 360.3319 365.3830 125.3326 360.3319 365.3830 126.1085 126.1085 125.3326 360.3319 360.3319 360.3319 365.3830 125.3326 365.3830 125.3326 365.3830 126.1085 126.1085 126.1085 125.3326 360.3319 365.3830 125.3326 360.3319 365.3830 126.1085 126.1085 125.3326 360.3319 360.3319 360.3319 365.3830 125.3326 365.3830 125.3326 365.3830 126.1085 126.1085 126.1085 125.3326 360.3319 365.3830 125.3326 360.3319 365.3830 60 2 0.1043 22NOV13
180500 Finland 2460000 FIN0001 OECD Finland 169 4825 9 1.0 4 1996 Male Yes, for more than one year 7.0 No, never No, never NaN Five or more times None 1.0 Yes Yes No No No No <ISCED level 3A> No Yes No No Working full-time <for pay> <ISCED level 3A> No Yes No No Working full-time <for pay> Country of test Country of test Country of test NaN Language of the test Yes Yes Yes Yes No Yes No No Yes Yes No Yes Yes Yes 246001 246001 246002 Three or more Three or more Three or more One One 201-500 books Disagree Disagree Strongly disagree Strongly disagree Agree Disagree Agree Agree Agree Agree Disagree Agree Agree Disagree Confident Not very confident Confident Confident Very confident Very confident Not very confident Confident Agree Disagree Strongly disagree Agree Disagree Disagree Strongly disagree Disagree Disagree Strongly disagree Agree Agree Strongly disagree Disagree Strongly agree Strongly disagree Likely Likely Likely Likely Very Likely Likely Strongly disagree Strongly disagree Agree Disagree Agree Disagree Agree Disagree Disagree Courses after school Math Major in college Science Study harder Math Maximum classes Science Pursuing a career Science Never or rarely Often Never or rarely Never or rarely Never or rarely Sometimes Sometimes Never or rarely NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Most Lessons Every Lesson Every Lesson Most Lessons Most Lessons Most Lessons Most Lessons Most Lessons Never or Hardly Ever Some Lessons Most Lessons Some Lessons Some Lessons Never or Hardly Ever Some Lessons Most Lessons Most Lessons Most Lessons Sometimes Sometimes Often Often Sometimes Often Often Often Often Most Lessons Most Lessons Most Lessons Never or Hardly Ever Some Lessons Agree Agree Disagree Agree Agree Agree Agree Disagree Agree Disagree Agree Agree Agree Agree Disagree Disagree Disagree Agree Agree Disagree Agree Agree Disagree Agree Strongly disagree Disagree Disagree Agree Disagree Disagree Agree Agree Disagree Agree Agree Disagree Agree Agree Strongly disagree Disagree Strongly agree Strongly disagree Not much like me Not much like me Somewhat like me Somewhat like me Not much like me Mostly like me Mostly like me Mostly like me Very much like me Not much like me probably do this definitely do this definitely not do this probably do this 2.0 1.0 2.0 2.0 2.0 3.0 3.0 4.0 Yes, and I use it Yes, and I use it No Yes, and I use it Yes, and I use it Yes, and I use it No Yes, but I donÂ’t use it Yes, and I use it Yes, and I use it No Yes, and I use it Yes, and I use it No Yes, and I use it Yes, and I use it No No 6 years old or younger 6 years old or younger 1 4 5 Once or twice a week Almost every day Once or twice a month Once or twice a week Every day Every day Almost every day Once or twice a week Almost every day Once or twice a month Once or twice a month Never or hardly ever Never or hardly ever Once or twice a month Never or hardly ever Once or twice a month Never or hardly ever Once or twice a week Once or twice a month Once or twice a week Never or hardly ever Never or hardly ever Once or twice a month Once or twice a week Once or twice a month Once or twice a month No No No No No No No Disagree Agree Agree Disagree Disagree Disagree No, never No, never Yes No, never Yes No, never No, never Yes Yes Yes Yes NaN 1.0 2.0 2.0 1.0 2.0 2.0 1.0 2.0 2.0 1.0 2.0 2.0 2.0 1.0 2.0 2.0 1.0 2.0 <test language> or <other official national la... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Yes NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN A Scientific calculator 7 9 2 StQ Form B booklet 1 Standard set of booklets 16.00 0.0 Finland: Comprehensive secondary school -0.73 -0.24 -1.7015 -0.56 65.64 68.55 -0.4499 Finland Finland Finland -0.0385 NaN -0.48 -0.53 0.4546 0.80 NaN NaN 0.9139 NaN NaN 2.0 ISCED 5A, 6 -0.69 NaN ISCED 5A, 6 68.55 -0.03 -0.6852 NaN -0.1489 -1.0568 -0.0872 0.24 0.5423 Native 0.8708 NaN NaN -0.39 -0.95 A ISCED level 2 General NaN Finnish NaN NaN 0.2171 -0.18 -0.2514 -1.0353 ISCED 5A, 6 NaN -0.2395 Personnel and careers professionals Customs and border inspectors 0.2542 NaN 16.5 -0.1475 Did not repeat a <grade> -0.29 NaN -1.04 -0.0455 0.2509 0.2217 -0.0798 0.34 Finnish 39.0 -0.7749 0.7571 0.14 0.9305 -0.5937 0.2570 0.2299 0.4142 0.2969 -1.0475 -0.1853 0.8270 0.0917 -0.2217 0.4646 516.6771 554.8450 588.3393 574.3184 582.1078 582.1078 554.8450 515.1192 564.9712 552.5082 618.7179 603.9181 547.0556 582.8867 574.3184 524.4664 522.9086 477.7302 509.6666 495.6457 686.4854 663.1173 596.1287 605.4759 589.8972 575.0974 573.5395 540.0452 568.8659 531.4769 593.7919 585.2236 534.5926 583.6657 520.5717 668.5699 671.6856 630.4019 623.3915 572.7606 581.3919 505.2071 617.4795 547.7102 536.4830 620.1417 663.9687 663.9687 670.4961 635.0615 4.6776 6.8333 2.4103 2.4000 2.4103 6.8333 2.4103 6.8333 2.4000 6.8333 6.8333 6.8416 6.8416 2.4000 2.4103 6.8416 2.4000 2.4000 6.8416 6.8416 2.4103 2.3911 6.8506 6.8413 6.8506 2.3911 6.8506 2.3911 6.8413 2.3911 2.3911 2.4003 2.4003 6.8413 6.8506 2.4003 6.8413 6.8413 2.4003 2.4003 6.8506 6.8413 2.4003 2.3911 2.4003 6.8413 2.4003 6.8413 2.3911 6.8413 6.8413 6.8506 6.8506 2.3911 2.4003 6.8506 2.3911 2.3911 6.8506 6.8506 2.4003 2.4000 6.8416 6.8333 6.8416 2.4000 6.8416 2.4000 6.8333 2.4000 2.4000 2.4103 2.4103 6.8333 6.8416 2.4103 6.8333 6.8333 2.4103 2.4103 6.8416 6 1 0.0779 22NOV13
195410 United Kingdom 8260000 GBR1315 OECD United Kingdom (excl.Scotland) 253 6293 11 1.0 8 1997 Female Yes, for more than one year 5.0 No, never No, never No, never None None 1.0 Yes Yes No Yes No No <ISCED level 3A> No No No Yes Working part-time <for pay> <ISCED level 3B, 3C> No No No No Working part-time <for pay> Country of test Country of test Country of test NaN Language of the test Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 826102 826101 826102 Three or more Three or more Three or more Two One 101-200 books NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Strongly disagree Strongly disagree Strongly disagree Agree Disagree NaN Agree Strongly disagree Agree Disagree NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Most important Improve understanding learning goals Repeat examples I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... 3.0 0.0 0.0 0.0 0.0 0.0 Rarely Frequently Sometimes Rarely Frequently Rarely Frequently Rarely Frequently Never heard of it Heard of it once or twice Heard of it often Heard of it once or twice Know it well, understand the concept Heard of it often Heard of it once or twice Know it well, understand the concept Never heard of it Never heard of it Know it well, understand the concept Never heard of it Know it well, understand the concept Know it well, understand the concept Never heard of it Know it well, understand the concept 60.0 60.0 60.0 4.0 4.0 8.0 25.0 30.0 Frequently Frequently Frequently Frequently Rarely Rarely Never Rarely Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Some Lessons Some Lessons Never or Hardly Ever Never or Hardly Ever Some Lessons Every Lesson Never or Hardly Ever Some Lessons Never or Hardly Ever Never or Hardly Ever Most Lessons Every Lesson Some Lessons Always or almost always Always or almost always Often Often Often Always or almost always Never or rarely Often Often Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Strongly disagree Strongly disagree Strongly agree Agree Strongly agree Strongly agree Strongly agree Strongly disagree Strongly agree Disagree Strongly agree Strongly agree Strongly agree Strongly disagree Agree Agree Agree Strongly agree Strongly agree Disagree Agree Agree Disagree Agree Disagree Agree Agree Strongly agree Disagree Disagree Strongly agree Agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly disagree Disagree Strongly agree Strongly disagree NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 97 97 97 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN A Scientific calculator 10 10 0 StQ Form C booklet 12 Standard set of booklets 15.25 0.0 United Kingdom (excl.Scotland): Students study... -1.30 0.24 1.2115 -0.15 76.65 62.13 2.1989 United Kingdom United Kingdom United Kingdom 0.5403 NaN 1.27 1.85 NaN 0.82 -0.0681 0.7955 NaN 0.0820 0.75 2.0 ISCED 3B, C 1.12 NaN ISCED 3A, ISCED 4 76.65 0.86 NaN NaN NaN NaN NaN 1.15 NaN Native NaN NaN NaN NaN NaN C ISCED level 3 General NaN English NaN 240.0 NaN NaN NaN NaN ISCED 3A, ISCED 4 240.0 1.1169 Office supervisors Accountants NaN 3.0 13.0 NaN Did not repeat a <grade> 0.94 480.0 0.81 NaN -0.2859 -1.5999 -0.0798 1.68 English NaN NaN NaN 0.22 -1.8636 -1.2391 -2.6339 -0.7808 -1.5051 NaN NaN NaN -1.1265 -1.3138 -1.6365 NaN 682.7465 615.7579 709.2304 718.5777 665.6099 649.2522 648.4733 671.0625 725.5881 713.9040 616.5368 624.3262 657.8205 739.6090 694.4306 617.3158 639.9050 677.2940 742.7247 695.2095 631.3367 626.6630 664.0520 711.5672 688.9780 688.9780 692.0938 662.4942 649.2522 666.3888 744.2826 738.0511 700.6621 666.3888 695.2095 696.7674 710.0093 705.3357 660.1573 725.5881 722.4290 656.5013 704.1599 746.2583 673.9761 689.7986 671.1488 671.1488 709.3808 627.3219 9.1660 4.8977 12.9901 4.8977 12.9901 4.8977 12.9901 4.8977 4.8977 4.8977 4.8977 12.9901 12.9901 4.8977 12.9901 12.9901 4.8977 4.8977 12.9901 12.9901 12.9901 12.9901 4.8977 12.9901 4.8977 12.9901 4.8977 12.9901 12.9901 12.9901 12.9901 4.8977 4.8977 12.9901 4.8977 4.8977 12.9901 12.9901 4.8977 4.8977 4.8977 4.8977 12.9901 4.8977 12.9901 4.8977 12.9901 4.8977 4.8977 4.8977 4.8977 12.9901 12.9901 4.8977 12.9901 12.9901 4.8977 4.8977 12.9901 12.9901 12.9901 12.9901 4.8977 12.9901 4.8977 12.9901 4.8977 12.9901 12.9901 12.9901 12.9901 4.8977 4.8977 12.9901 4.8977 4.8977 12.9901 12.9901 4.8977 4.8977 4.8977 59 2 0.0133 22NOV13
61285 Brazil 760000 BRA1748 Non-OECD Brazil 269 6019 11 1.0 2 1996 Female NaN 6.0 No, never No, never No, never None None 1.0 Yes No No Yes No No <ISCED level 3A> No No No No Working full-time <for pay> <ISCED level 3A> No No No No Working full-time <for pay> Country of test Country of test Country of test NaN Language of the test Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No Yes 76002 76002 76002 Three or more Two None None Two 26-100 books Agree Strongly agree Agree Agree Strongly agree Strongly agree Agree Strongly agree Disagree Disagree Disagree Strongly agree Strongly agree Strongly agree Very confident Very confident Very confident Very confident Very confident Very confident Very confident Very confident Strongly agree Strongly disagree Strongly disagree Strongly disagree Strongly disagree Strongly agree Strongly agree Strongly disagree NaN Strongly agree Strongly agree Strongly agree Agree NaN Strongly agree Strongly disagree Not at all likely Slightly likely Not at all likely Very Likely Not at all likely Not at all likely Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Agree Agree Strongly agree Courses after school Math Major in college Math Study harder Math Maximum classes Math Pursuing a career Math Often Always or almost always Often Always or almost always Sometimes Often Never or rarely Never or rarely NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Some Lessons Every Lesson Every Lesson Every Lesson Some Lessons Some Lessons Never or Hardly Ever Some Lessons Most Lessons Every Lesson Every Lesson NaN Often Often Never or rarely Always or almost always Always or almost always Always or almost always Never or rarely Always or almost always Some Lessons Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Some Lessons Strongly agree Disagree Strongly disagree Strongly agree Strongly agree Strongly agree Strongly agree Disagree Strongly agree Disagree Agree Agree Agree Strongly disagree Agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly disagree Strongly agree Strongly agree Strongly disagree Strongly agree Strongly disagree Strongly agree Agree Agree Strongly disagree Strongly disagree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Agree Disagree Strongly agree Strongly disagree Not at all like me Not at all like me Very much like me Very much like me Very much like me Very much like me Very much like me Very much like me Very much like me Very much like me definitely not do this definitely do this definitely do this probably do this 1.0 1.0 4.0 4.0 1.0 4.0 2.0 1.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 97 97 97 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 10 10 0 StQ Form B booklet 23 Easier set of booklets 16.25 0.0 Brazil: Upper secondary education -0.20 2.35 1.2115 1.42 39.04 44.94 0.3255 Brazil Brazil Brazil 0.3950 NaN 1.27 0.81 NaN -1.01 NaN NaN -1.2999 NaN NaN 1.0 ISCED 3A, ISCED 4 -0.69 NaN ISCED 3A, ISCED 4 44.94 -1.13 NaN NaN NaN NaN NaN -3.16 NaN Native NaN NaN NaN 1.11 1.23 A ISCED level 3 General NaN Portuguese NaN NaN 1.5866 2.27 1.4565 1.6881 ISCED 3A, ISCED 4 NaN 1.8433 Secretaries (general) Sales workers not elsewhere classified 2.4465 NaN 11.0 3.5286 Did not repeat a <grade> 0.86 NaN 1.51 0.6602 1.0416 0.7183 1.0768 1.68 Portuguese NaN NaN NaN -1.69 0.9305 0.4908 0.6458 0.3431 0.3612 0.7380 1.0573 0.9341 0.8270 0.4815 0.7959 0.1786 395.5523 453.9726 457.8673 449.2990 432.1623 397.1101 408.0153 386.9840 414.2468 365.9526 438.3938 450.8568 425.1519 436.8360 398.6680 411.1310 454.7515 409.5731 463.3198 383.8682 386.9840 401.7838 386.9840 406.4574 380.7525 387.7629 443.8464 434.4991 410.3521 430.6045 362.8369 397.1101 413.4678 425.1519 430.6045 378.4156 444.6253 440.7306 402.5627 420.4783 434.4916 470.2355 481.3559 481.3559 459.9095 425.9045 491.1787 459.4741 479.9888 457.6091 165.5996 82.0103 241.5902 83.6120 86.9936 253.7896 253.7896 245.5581 245.4330 83.7593 245.4330 83.7593 241.5902 82.0103 82.0103 83.6120 86.9936 245.5581 245.4330 86.9936 245.5581 253.7896 86.9936 245.5581 241.5902 82.0103 82.0103 83.6120 83.7593 245.4330 83.7593 245.4330 86.9936 253.7896 253.7896 245.5581 241.5902 83.6120 83.7593 241.5902 83.6120 253.7896 86.9936 245.5581 241.5902 82.0103 82.0103 83.6120 83.7593 245.4330 83.7593 245.4330 86.9936 253.7896 253.7896 245.5581 241.5902 83.6120 83.7593 241.5902 83.6120 82.0103 241.5902 83.6120 86.9936 253.7896 253.7896 245.5581 245.4330 83.7593 245.4330 83.7593 241.5902 82.0103 82.0103 83.6120 86.9936 245.5581 245.4330 86.9936 245.5581 68 2 0.0702 22NOV13
85469 Canada 1240000 CAN0652 OECD Canada 449 10999 9 1.0 12 1996 Male Yes, for more than one year 4.0 No, never No, never No, never None None 1.0 Yes Yes Yes No No No <ISCED level 3A> No No No No Other (e.g. home duties, retired) <ISCED level 2> No No No No Working full-time <for pay> Country of test Country of test Country of test NaN Language of the test No Yes Yes Yes Yes Yes No No No Yes No Yes No Yes 124002 124001 124002 One Three or more Two One One 26-100 books NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Strongly agree Strongly agree Agree Disagree Strongly agree Strongly disagree Strongly disagree Strongly agree Strongly disagree Strongly agree NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Most important Improve understanding Relating to other subjects more information I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... 3.0 0.0 0.0 0.0 0.0 0.0 Sometimes Sometimes Sometimes Rarely Sometimes Rarely Frequently Never Sometimes Never heard of it Never heard of it Never heard of it Heard of it often Heard of it often Never heard of it Never heard of it Never heard of it Never heard of it Never heard of it Heard of it often Never heard of it Heard of it often Never heard of it Never heard of it Know it well, understand the concept 115.0 115.0 115.0 5.0 5.0 5.0 NaN 22.0 Sometimes Sometimes Sometimes Sometimes Rarely Rarely Frequently Frequently Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Every Lesson Some Lessons Some Lessons Never or Hardly Ever Some Lessons Most Lessons Most Lessons Most Lessons Sometimes Often Sometimes Often Sometimes Often Always or almost always Always or almost always Often Every Lesson Every Lesson Every Lesson Most Lessons Most Lessons Strongly agree Agree Strongly disagree Strongly agree Strongly agree Strongly agree Strongly agree Disagree Strongly agree Strongly disagree Strongly agree Strongly agree Strongly agree Agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Agree Strongly disagree Disagree Agree Disagree Agree Disagree Disagree Agree Disagree Disagree Agree Agree Agree Agree Strongly agree Agree Strongly agree Agree Strongly disagree Disagree Agree Strongly disagree NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 97 97 97 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN No, never No, never No, never No, never No, never No, never No, never No, never Yes No, never No, never No, never 2.0 1.0 2.0 2.0 1.0 2.0 2.0 2.0 1.0 2.0 2.0 1.0 2.0 2.0 1.0 2.0 2.0 1.0 <test language> or <other official national la... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN No, never NaN No, never No, never NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN A Scientific calculator 7 10 3 StQ Form C booklet 8 Standard set of booklets 15.42 -1.0 Canada: Grades 7 - 9 (Quebec: Secondary 1 – 3 ) 1.89 -0.24 -0.3397 -1.64 17.56 30.90 0.7640 Canada Canada Canada 0.2435 NaN -1.51 -1.60 NaN -1.06 -0.2531 -0.2503 NaN -1.0444 -0.94 2.0 ISCED 2 -0.69 NaN ISCED 3A, ISCED 4 30.90 -1.20 NaN NaN NaN NaN NaN 0.24 NaN Native -1.3496 -0.774 0.0849 NaN NaN M ISCED level 2 Modular NaN English NaN 575.0 NaN NaN NaN NaN ISCED 3A, ISCED 4 575.0 1.8433 Cashiers and ticket clerks Civil engineering labourers NaN 3.0 12.0 NaN Did not repeat a <grade> -1.61 575.0 2.16 NaN -0.0092 -0.5809 0.7228 1.68 English NaN NaN NaN -1.06 0.1565 -0.0831 -0.2532 0.4840 0.4940 NaN NaN NaN 0.8270 -0.2172 1.0099 NaN 509.7445 515.9760 470.0187 519.0918 502.7341 477.0291 501.9551 491.0500 451.3242 520.6496 533.8916 536.2284 545.5756 479.3659 562.7123 456.7768 486.3764 487.9343 418.6088 501.9551 537.7863 543.2388 561.9333 491.0500 549.4703 512.8603 529.9969 535.4494 525.3233 477.8081 405.3669 427.1771 434.1876 408.4826 412.3773 484.8185 472.3555 491.8289 477.8081 456.7768 589.1708 626.8622 561.9047 626.8622 608.4175 556.6393 615.3860 568.7617 614.4536 606.9937 62.1106 91.0812 30.6395 32.7434 30.2351 32.0166 88.9406 27.5911 94.3930 31.8689 92.3272 91.6920 91.9507 96.4736 33.2600 31.5975 88.8148 31.4905 30.4066 94.4972 94.8625 31.6503 97.0810 87.8620 94.8844 93.2905 31.2911 99.1714 30.9792 95.6452 32.9816 30.5622 30.3676 28.5572 88.0288 92.0878 32.3129 88.5067 90.3210 30.3130 32.3021 31.6503 97.0810 87.8620 94.8844 93.2905 31.2911 99.1714 30.9792 95.6452 32.9816 30.5622 30.3676 28.5572 88.0288 92.0878 32.3129 88.5067 90.3210 30.3130 32.3021 91.0812 30.6395 32.7434 30.2351 32.0166 88.9406 27.5911 94.3930 31.8689 92.3272 91.6920 91.9507 96.4736 33.2600 31.5975 88.8148 31.4905 30.4066 94.4972 94.8625 54 1 0.1785 22NOV13
76801 Canada 1240000 CAN0322 OECD Canada 101 2331 10 2.0 7 1996 Male Yes, for one year or less 5.0 No, never No, never No, never None None 1.0 Yes Yes NaN NaN NaN NaN <ISCED level 3A> NaN NaN NaN NaN Working full-time <for pay> <ISCED level 3A> No No Yes No Working full-time <for pay> Country of test Country of test Country of test NaN Language of the test No Yes Yes Yes No Yes No No No No No No Yes Yes 124001 124002 124002 Two Three or more Three or more Two Two 26-100 books NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Strongly disagree Strongly disagree Strongly disagree Strongly agree Strongly disagree Strongly agree Disagree Strongly disagree Strongly agree Strongly disagree NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN by heart Improve understanding in my sleep Repeat examples I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... 0.0 0.0 0.0 0.0 0.0 0.0 Never Rarely Frequently Sometimes Frequently Sometimes Frequently Rarely Frequently Know it well, understand the concept Heard of it often Heard of it a few times Never heard of it Heard of it once or twice Heard of it once or twice Heard of it once or twice Heard of it once or twice Never heard of it Never heard of it Know it well, understand the concept Never heard of it Heard of it often Know it well, understand the concept Know it well, understand the concept Know it well, understand the concept 60.0 60.0 60.0 6.0 6.0 6.0 25.0 25.0 Frequently Frequently Frequently Frequently Sometimes Sometimes Rarely Never Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Never or Hardly Ever Most Lessons Every Lesson Every Lesson Every Lesson Never or Hardly Ever Every Lesson Every Lesson Every Lesson Every Lesson Always or almost always Always or almost always Always or almost always Sometimes Always or almost always Always or almost always Always or almost always Always or almost always Always or almost always Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Strongly agree Strongly agree Strongly disagree Strongly agree Strongly agree Strongly agree Strongly agree Agree Strongly agree Strongly disagree Strongly agree Strongly agree Strongly agree Strongly disagree Disagree Agree Agree Strongly agree Agree Strongly disagree Agree Disagree Strongly disagree Agree Strongly disagree Agree Agree Agree Disagree Disagree Agree Strongly agree Agree Strongly agree Agree Disagree Strongly agree Strongly agree Strongly disagree Strongly disagree Agree Strongly disagree NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 97 97 97 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN No, never No, never No, never Yes No, never No, never No, never Yes No, never No, never No, never Yes 2.0 1.0 2.0 2.0 1.0 2.0 2.0 2.0 1.0 2.0 2.0 1.0 2.0 2.0 1.0 2.0 2.0 1.0 <test language> or <other official national la... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN No, never NaN No, never No, never NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN A Simple calculator 8 8 0 StQ Form C booklet 5 Standard set of booklets 15.75 0.0 Canada: Grades 10 - 12 (Quebec: Secondary 4 a... -2.37 0.24 -0.9394 0.08 57.68 54.55 2.1989 Canada Canada Canada 1.8326 NaN -1.51 1.85 NaN 0.05 -0.0681 0.7955 NaN 0.0820 1.58 2.0 ISCED 5B -2.31 NaN ISCED 5B 57.68 -0.88 NaN NaN NaN NaN NaN 0.24 NaN Native -0.4138 -0.774 0.0849 NaN NaN M ISCED level 3 Modular NaN English NaN 360.0 NaN NaN NaN NaN ISCED 3A, ISCED 4 360.0 1.8433 Administrative and executive secretaries Valuers and loss assessors NaN 0.0 15.0 NaN Did not repeat a <grade> 1.38 360.0 -0.02 NaN 1.7916 0.9374 2.5630 1.68 English NaN NaN NaN 0.15 -0.0377 -0.4928 -0.0349 0.9208 0.8700 NaN NaN NaN 0.8270 0.8722 -0.0524 NaN 608.9811 613.6548 605.0865 615.9916 625.3388 663.5068 665.0647 640.1387 644.0333 684.5381 698.5590 738.2848 681.4223 716.4745 753.8635 608.2022 626.8967 563.0238 597.2971 634.6861 663.5068 661.9489 624.5599 652.6017 687.6538 687.6538 674.4119 651.8227 636.2440 665.0647 644.8123 672.8540 628.4546 619.1073 641.6965 634.6861 656.4963 647.1491 614.4337 617.5495 497.1877 571.7686 596.6289 548.5122 612.6678 626.7624 637.9523 630.4924 635.1548 678.9817 10.9646 15.7270 5.4902 5.8482 5.7818 5.5720 17.3454 5.2801 17.3454 5.2423 16.4236 15.7270 15.6234 16.3286 5.5421 5.5720 17.1643 5.4902 5.5211 16.4236 16.4705 5.5945 17.6329 16.4101 16.2736 15.6830 5.4245 16.9584 5.4245 16.7835 5.1638 5.5945 5.5416 5.8085 17.8624 15.6830 5.3829 17.6329 15.5831 5.1638 5.8776 5.5945 17.6329 16.4101 16.2736 15.6830 5.4245 16.9584 5.4245 16.7835 5.1638 5.5945 5.5416 5.8085 17.8624 15.6830 5.3829 17.6329 15.5831 5.1638 5.8776 15.7270 5.4902 5.8482 5.7818 5.5720 17.3454 5.2801 17.3454 5.2423 16.4236 15.7270 15.6234 16.3286 5.5421 5.5720 17.1643 5.4902 5.5211 16.4236 16.4705 54 1 0.0315 22NOV13
124402 Costa Rica 1880000 CRI0001 Non-OECD Costa Rica 52 1230 10 2.0 10 1996 Female Yes, for more than one year NaN No, never No, never No, never One or two times One or two times 1.0 Yes NaN Yes Yes NaN NaN NaN No No No Yes Other (e.g. home duties, retired) NaN No No No Yes Working full-time <for pay> Country of test Country of test Country of test NaN Language of the test No Yes Yes Yes No Yes Yes No No No No Yes No Yes 188001 188002 188002 Three or more Two One Two None 0-10 books Agree Agree Disagree Disagree Agree Agree Disagree Agree Agree Agree Disagree Disagree Disagree Disagree Not very confident Confident Confident Not very confident Confident Confident Confident Not very confident Agree Agree Disagree Disagree Disagree Agree Disagree Disagree Disagree Agree Strongly agree Strongly agree Disagree Disagree Strongly agree Disagree Likely Likely Likely Slightly likely Slightly likely Likely Agree Strongly agree Agree Agree Agree Strongly agree Strongly agree Strongly agree Strongly agree Courses after school Test Language Major in college Science Study harder Math Maximum classes Science Pursuing a career Science Sometimes Never or rarely Sometimes Never or rarely Sometimes Never or rarely Sometimes Never or rarely NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Every Lesson Every Lesson Every Lesson Most Lessons Never or Hardly Ever Every Lesson Never or Hardly Ever Never or Hardly Ever Most Lessons Some Lessons Every Lesson Some Lessons Never or Hardly Ever Some Lessons Every Lesson Some Lessons Some Lessons Never or Hardly Ever Sometimes Sometimes Never or rarely Sometimes Sometimes Never or rarely Sometimes Often Sometimes Some Lessons Some Lessons Some Lessons Some Lessons Some Lessons Strongly agree Agree Disagree Agree Strongly agree Strongly agree Agree Disagree Agree Disagree Agree Agree Agree Disagree Agree Agree Strongly agree Agree Agree Disagree Agree Agree Disagree Strongly agree Disagree Strongly agree Agree Agree Disagree Strongly disagree Agree Agree Strongly agree Strongly agree Agree Agree Strongly agree Agree Disagree Disagree Agree Disagree Somewhat like me Very much like me Very much like me Very much like me Somewhat like me Somewhat like me Somewhat like me Somewhat like me Somewhat like me Somewhat like me probably do this definitely do this probably not do this definitely do this 1.0 3.0 4.0 2.0 2.0 3.0 1.0 2.0 Yes, and I use it No No Yes, and I use it No No Yes, and I use it No Yes, and I use it No No No No No Yes, but I donÂ’t use it No Yes, but I donÂ’t use it No 13 years old or older 13 years old or older 1 4 5 Never or hardly ever Never or hardly ever Never or hardly ever Never or hardly ever Every day Every day Never or hardly ever Once or twice a month Almost every day Never or hardly ever Once or twice a week Never or hardly ever Never or hardly ever Never or hardly ever Never or hardly ever Never or hardly ever Never or hardly ever Never or hardly ever Never or hardly ever Never or hardly ever Never or hardly ever Never or hardly ever Never or hardly ever Once or twice a month Never or hardly ever Never or hardly ever No No No No No No No Agree Agree Agree Disagree Disagree Agree NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN A Scientific calculator 10 10 0 StQ Form B booklet 13 Easier set of booklets 15.67 1.0 Costa Rica: Secondary education (upper) academic 0.06 0.24 0.0873 0.08 36.97 NaN -0.0784 Costa Rica Costa Rica Costa Rica -1.0711 NaN -0.48 -0.08 -0.7396 -1.16 NaN NaN 0.1524 NaN NaN NaN ISCED 3A, ISCED 4 -1.80 NaN ISCED 3A, ISCED 4 36.97 -1.46 -0.9986 NaN 0.3419 -0.5096 -1.3991 -1.13 -1.4611 Native NaN NaN NaN -0.39 0.30 A ISCED level 3 General NaN Spanish NaN NaN 0.2171 -0.63 -0.7332 1.2128 ISCED 3A, ISCED 4 NaN 0.6709 Housewife Electrical equipment installers and repairers -0.5433 NaN 12.0 0.0511 Did not repeat a <grade> -0.29 NaN 0.45 -0.7176 -0.0092 0.4855 -0.5612 0.11 Spanish 39.0 -0.7749 -0.7854 -1.06 1.2799 1.2811 1.1382 0.9208 -0.4009 0.2969 0.3516 1.7733 1.5224 -0.0807 1.2600 -0.0718 404.4322 357.6959 360.8117 351.4644 376.3904 331.9910 324.2016 363.9274 343.6750 335.1067 358.4748 344.4540 367.8221 367.0432 360.0327 378.7272 357.6959 395.0849 371.7168 359.2538 364.7063 355.3591 380.2851 363.1485 367.0432 279.8021 350.6855 320.3069 339.7803 371.7168 321.0858 370.1589 324.2016 372.4957 392.7481 307.8439 388.0745 367.0432 349.9065 388.0745 519.0062 425.2776 461.0215 448.3126 475.3191 380.9586 444.3678 397.7434 376.2962 396.8109 5.8307 3.0022 2.6430 9.4607 8.3240 3.0340 3.0257 8.5388 8.9206 9.1114 7.9777 3.0826 8.9695 2.8031 8.4628 3.0862 2.8517 2.8159 3.0371 7.9350 9.5698 9.0697 7.9141 3.2144 2.8225 9.0543 8.8483 2.8576 3.0574 3.0152 2.6514 9.1924 3.0371 8.3316 2.8078 9.0945 8.3916 8.4887 8.9695 2.6777 3.2104 2.8078 3.2523 7.9687 9.0786 2.8109 2.8638 8.9345 8.4145 8.4887 9.6993 2.7867 8.4478 3.0862 9.1550 2.8031 3.0426 2.9898 2.8296 9.4431 7.9719 8.5157 9.8085 2.6644 3.0926 8.4532 8.4684 2.9686 2.8421 2.8001 3.1695 8.3783 2.8296 9.1822 3.0022 8.3735 8.9557 9.1114 8.4478 3.2214 2.6532 78 2 0.1444 22NOV13
4374 Albania 80000 ALB0009 Non-OECD Albania 191 4374 10 1.0 8 1996 Male Yes, for one year or less 6.0 No, never No, never NaN None None 1.0 NaN NaN Yes NaN NaN NaN <ISCED level 2> NaN NaN NaN Yes Other (e.g. home duties, retired) <ISCED level 2> NaN NaN NaN Yes Working full-time <for pay> Country of test Country of test Country of test NaN Language of the test NaN Yes NaN NaN NaN Yes NaN NaN NaN NaN NaN NaN NaN Yes 8001 9999999 9999999 Three or more Two None None One 0-10 books NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Disagree Strongly disagree Strongly disagree Agree Disagree Agree Strongly agree Strongly disagree Agree Strongly disagree NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN relating to known check memory Relating to other subjects everyday life I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... I do not attend <out-of-school time lessons> i... 10.0 5.0 0.0 0.0 0.0 5.0 Frequently Rarely Frequently Frequently Rarely Rarely Rarely Sometimes Never Never heard of it Know it well, understand the concept Never heard of it Know it well, understand the concept Heard of it once or twice Know it well, understand the concept Heard of it once or twice Know it well, understand the concept Know it well, understand the concept Heard of it once or twice Know it well, understand the concept Know it well, understand the concept Heard of it once or twice Never heard of it Never heard of it Never heard of it 45.0 45.0 45.0 5.0 4.0 2.0 28.0 25.0 Frequently Frequently Frequently Frequently Sometimes Sometimes Rarely Frequently Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Every Lesson Some Lessons Every Lesson Never or Hardly Ever Some Lessons Every Lesson Most Lessons Every Lesson Every Lesson Every Lesson Some Lessons Every Lesson Every Lesson Sometimes Never or rarely Always or almost always Always or almost always Often Often Often Always or almost always Often Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Never or Hardly Ever Strongly agree Strongly disagree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly disagree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly agree Strongly disagree Agree Strongly agree Strongly disagree Agree Strongly disagree Strongly agree Strongly agree Strongly agree Strongly agree Strongly disagree Strongly agree Strongly disagree Agree Strongly agree Strongly agree Strongly agree Strongly agree Agree Disagree Strongly disagree Strongly agree Disagree NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 99 99 99 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN A Scientific calculator 99 99 99 StQ Form C booklet 6 Standard set of booklets 15.67 0.0 Albania: Upper secondary education -1.30 -0.95 0.5206 1.42 30.78 23.47 0.3255 Albania Albania Albania 0.3891 NaN NaN 1.85 NaN NaN 0.7694 -1.8388 NaN -0.4275 -1.92 NaN ISCED 3A, ISCED 4 NaN NaN ISCED 3A, ISCED 4 NaN -1.32 NaN NaN NaN NaN NaN -1.91 NaN Native NaN NaN NaN NaN NaN A ISCED level 3 General NaN Albanian NaN 225.0 NaN NaN NaN NaN ISCED 3A, ISCED 4 180.0 1.8433 Tailors, dressmakers, furriers and hatters Motor vehicle mechanics and repairers NaN 20.0 12.0 NaN Did not repeat a <grade> 1.12 90.0 2.16 NaN 0.7644 1.3823 1.0768 1.68 Albanian NaN NaN NaN -1.24 -0.4846 -0.6779 -0.2868 -0.2370 -0.0219 NaN NaN NaN -0.1687 0.0917 -0.1113 NaN 398.2007 360.8117 359.2538 373.2747 365.4853 347.5697 361.5906 354.5802 380.2851 290.7073 385.7377 466.7472 395.0849 405.2111 362.3695 363.9274 454.2842 334.3278 396.6428 346.0118 270.4549 316.4122 317.9701 317.9701 272.0128 392.7481 400.5375 370.1589 369.3800 385.7377 402.8743 384.9587 367.0432 374.8325 382.6219 339.7803 346.7908 339.0014 319.5280 328.0963 364.0648 376.8959 353.6395 274.2470 378.4998 519.1533 443.6218 452.9467 424.9720 396.0649 7.7430 3.8715 11.6145 11.6145 11.6145 11.6145 3.8715 11.6145 3.8715 11.6145 3.8715 3.8715 3.8715 3.8715 11.6145 11.6145 3.8715 11.6145 11.6145 3.8715 3.8715 11.6145 3.8715 3.8715 3.8715 3.8715 11.6145 3.8715 11.6145 3.8715 11.6145 11.6145 11.6145 11.6145 3.8715 3.8715 11.6145 3.8715 3.8715 11.6145 11.6145 11.6145 3.8715 3.8715 3.8715 3.8715 11.6145 3.8715 11.6145 3.8715 11.6145 11.6145 11.6145 11.6145 3.8715 3.8715 11.6145 3.8715 3.8715 11.6145 11.6145 3.8715 11.6145 11.6145 11.6145 11.6145 3.8715 11.6145 3.8715 11.6145 3.8715 3.8715 3.8715 3.8715 11.6145 11.6145 3.8715 11.6145 11.6145 3.8715 3.8715 43 2 0.1823 22NOV13
In [9]:
pisa2012.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 241336 entries, 1 to 241336
Data columns (total 635 columns):
CNT            241336 non-null object
SUBNATIO       241336 non-null int64
STRATUM        241336 non-null object
OECD           241336 non-null object
NC             241336 non-null object
SCHOOLID       241336 non-null int64
STIDSTD        241336 non-null int64
ST01Q01        241336 non-null int64
ST02Q01        241284 non-null float64
ST03Q01        241336 non-null int64
ST03Q02        241336 non-null int64
ST04Q01        241336 non-null object
ST05Q01        235233 non-null object
ST06Q01        223900 non-null float64
ST07Q01        225586 non-null object
ST07Q02        222401 non-null object
ST07Q03        148349 non-null object
ST08Q01        237164 non-null object
ST09Q01        237197 non-null object
ST115Q01       237280 non-null float64
ST11Q01        225530 non-null object
ST11Q02        215973 non-null object
ST11Q03        195968 non-null object
ST11Q04        191403 non-null object
ST11Q05        167470 non-null object
ST11Q06        164234 non-null object
ST13Q01        225867 non-null object
ST14Q01        189394 non-null object
ST14Q02        199060 non-null object
ST14Q03        191957 non-null object
ST14Q04        170099 non-null object
ST15Q01        231335 non-null object
ST17Q01        218065 non-null object
ST18Q01        179698 non-null object
ST18Q02        188612 non-null object
ST18Q03        182463 non-null object
ST18Q04        162921 non-null object
ST19Q01        223304 non-null object
ST20Q01        235716 non-null object
ST20Q02        233675 non-null object
ST20Q03        232051 non-null object
ST21Q01        18849 non-null float64
ST25Q01        231102 non-null object
ST26Q01        233912 non-null object
ST26Q02        230265 non-null object
ST26Q03        233377 non-null object
ST26Q04        234679 non-null object
ST26Q05        229056 non-null object
ST26Q06        234426 non-null object
ST26Q07        229974 non-null object
ST26Q08        230780 non-null object
ST26Q09        231218 non-null object
ST26Q10        233198 non-null object
ST26Q11        228604 non-null object
ST26Q12        234611 non-null object
ST26Q13        232748 non-null object
ST26Q14        234820 non-null object
ST26Q15        241336 non-null int64
ST26Q16        241336 non-null int64
ST26Q17        241336 non-null int64
ST27Q01        236163 non-null object
ST27Q02        235834 non-null object
ST27Q03        234522 non-null object
ST27Q04        233812 non-null object
ST27Q05        229783 non-null object
ST28Q01        234559 non-null object
ST29Q01        156122 non-null object
ST29Q02        155964 non-null object
ST29Q03        155663 non-null object
ST29Q04        155547 non-null object
ST29Q05        155844 non-null object
ST29Q06        155548 non-null object
ST29Q07        155649 non-null object
ST29Q08        155739 non-null object
ST35Q01        156091 non-null object
ST35Q02        155826 non-null object
ST35Q03        155597 non-null object
ST35Q04        155810 non-null object
ST35Q05        155538 non-null object
ST35Q06        154644 non-null object
ST37Q01        155544 non-null object
ST37Q02        155537 non-null object
ST37Q03        155150 non-null object
ST37Q04        154957 non-null object
ST37Q05        155160 non-null object
ST37Q06        155030 non-null object
ST37Q07        155234 non-null object
ST37Q08        155203 non-null object
ST42Q01        154926 non-null object
ST42Q02        154712 non-null object
ST42Q03        153995 non-null object
ST42Q04        153879 non-null object
ST42Q05        154332 non-null object
ST42Q06        154086 non-null object
ST42Q07        154254 non-null object
ST42Q08        154230 non-null object
ST42Q09        154052 non-null object
ST42Q10        154334 non-null object
ST43Q01        155644 non-null object
ST43Q02        155207 non-null object
ST43Q03        154822 non-null object
ST43Q04        154813 non-null object
ST43Q05        154640 non-null object
ST43Q06        154748 non-null object
ST44Q01        155082 non-null object
ST44Q03        154847 non-null object
ST44Q04        154446 non-null object
ST44Q05        154582 non-null object
ST44Q07        154556 non-null object
ST44Q08        154740 non-null object
ST46Q01        155077 non-null object
ST46Q02        154914 non-null object
ST46Q03        154662 non-null object
ST46Q04        154561 non-null object
ST46Q05        154579 non-null object
ST46Q06        154542 non-null object
ST46Q07        154493 non-null object
ST46Q08        154575 non-null object
ST46Q09        154497 non-null object
ST48Q01        144401 non-null object
ST48Q02        141122 non-null object
ST48Q03        146674 non-null object
ST48Q04        139263 non-null object
ST48Q05        139778 non-null object
ST49Q01        154937 non-null object
ST49Q02        154656 non-null object
ST49Q03        154163 non-null object
ST49Q04        154303 non-null object
ST49Q05        154421 non-null object
ST49Q06        154414 non-null object
ST49Q07        154353 non-null object
ST49Q09        154500 non-null object
ST53Q01        153150 non-null object
ST53Q02        153147 non-null object
ST53Q03        152891 non-null object
ST53Q04        152696 non-null object
ST55Q01        150976 non-null object
ST55Q02        151359 non-null object
ST55Q03        150170 non-null object
ST55Q04        148897 non-null object
ST57Q01        150053 non-null float64
ST57Q02        134878 non-null float64
ST57Q03        141235 non-null float64
ST57Q04        139316 non-null float64
ST57Q05        143781 non-null float64
ST57Q06        143540 non-null float64
ST61Q01        154527 non-null object
ST61Q02        154264 non-null object
ST61Q03        153938 non-null object
ST61Q04        153286 non-null object
ST61Q05        153917 non-null object
ST61Q06        153858 non-null object
ST61Q07        154032 non-null object
ST61Q08        153921 non-null object
ST61Q09        154064 non-null object
ST62Q01        152869 non-null object
ST62Q02        153265 non-null object
ST62Q03        152790 non-null object
ST62Q04        152682 non-null object
ST62Q06        152967 non-null object
ST62Q07        152828 non-null object
ST62Q08        152852 non-null object
ST62Q09        153354 non-null object
ST62Q10        152751 non-null object
ST62Q11        152311 non-null object
ST62Q12        152681 non-null object
ST62Q13        152605 non-null object
ST62Q15        152663 non-null object
ST62Q16        152733 non-null object
ST62Q17        152880 non-null object
ST62Q19        153307 non-null object
ST69Q01        146030 non-null float64
ST69Q02        145439 non-null float64
ST69Q03        141490 non-null float64
ST70Q01        146373 non-null float64
ST70Q02        147078 non-null float64
ST70Q03        142584 non-null float64
ST71Q01        126526 non-null float64
ST72Q01        147236 non-null float64
ST73Q01        153018 non-null object
ST73Q02        152753 non-null object
ST74Q01        153139 non-null object
ST74Q02        152889 non-null object
ST75Q01        152858 non-null object
ST75Q02        152580 non-null object
ST76Q01        152747 non-null object
ST76Q02        152517 non-null object
ST77Q01        155728 non-null object
ST77Q02        155612 non-null object
ST77Q04        155358 non-null object
ST77Q05        155594 non-null object
ST77Q06        155543 non-null object
ST79Q01        155522 non-null object
ST79Q02        155274 non-null object
ST79Q03        155084 non-null object
ST79Q04        155130 non-null object
ST79Q05        154969 non-null object
ST79Q06        155137 non-null object
ST79Q07        155194 non-null object
ST79Q08        155227 non-null object
ST79Q10        155052 non-null object
ST79Q11        154929 non-null object
ST79Q12        154847 non-null object
ST79Q15        154969 non-null object
ST79Q17        155032 non-null object
ST80Q01        155151 non-null object
ST80Q04        154829 non-null object
ST80Q05        154352 non-null object
ST80Q06        154294 non-null object
ST80Q07        154295 non-null object
ST80Q08        154351 non-null object
ST80Q09        153992 non-null object
ST80Q10        154172 non-null object
ST80Q11        154394 non-null object
ST81Q01        155031 non-null object
ST81Q02        154836 non-null object
ST81Q03        154454 non-null object
ST81Q04        154555 non-null object
ST81Q05        154756 non-null object
ST82Q01        153775 non-null object
ST82Q02        153602 non-null object
ST82Q03        153473 non-null object
ST83Q01        154739 non-null object
ST83Q02        154565 non-null object
ST83Q03        154462 non-null object
ST83Q04        154401 non-null object
ST84Q01        153385 non-null object
ST84Q02        153617 non-null object
ST84Q03        153290 non-null object
ST85Q01        154122 non-null object
ST85Q02        153945 non-null object
ST85Q03        153819 non-null object
ST85Q04        153749 non-null object
ST86Q01        154508 non-null object
ST86Q02        154220 non-null object
ST86Q03        154023 non-null object
ST86Q04        154046 non-null object
ST86Q05        153751 non-null object
ST87Q01        153627 non-null object
ST87Q02        153949 non-null object
ST87Q03        153261 non-null object
ST87Q04        153350 non-null object
ST87Q05        153103 non-null object
ST87Q06        153320 non-null object
ST87Q07        152922 non-null object
ST87Q08        153139 non-null object
ST87Q09        153342 non-null object
ST88Q01        153408 non-null object
ST88Q02        153269 non-null object
ST88Q03        153322 non-null object
ST88Q04        153482 non-null object
ST89Q02        153513 non-null object
ST89Q03        153379 non-null object
ST89Q04        153421 non-null object
ST89Q05        153360 non-null object
ST91Q01        153422 non-null object
ST91Q02        152879 non-null object
ST91Q03        152569 non-null object
ST91Q04        152319 non-null object
ST91Q05        152452 non-null object
ST91Q06        152435 non-null object
ST93Q01        154544 non-null object
ST93Q03        154234 non-null object
ST93Q04        153815 non-null object
ST93Q06        154244 non-null object
ST93Q07        154183 non-null object
ST94Q05        154278 non-null object
ST94Q06        154194 non-null object
ST94Q09        153793 non-null object
ST94Q10        153940 non-null object
ST94Q14        153994 non-null object
ST96Q01        153719 non-null object
ST96Q02        153744 non-null object
ST96Q03        153534 non-null object
ST96Q05        153682 non-null object
ST101Q01       153662 non-null float64
ST101Q02       153418 non-null float64
ST101Q03       153108 non-null float64
ST101Q05       153243 non-null float64
ST104Q01       153207 non-null float64
ST104Q04       152959 non-null float64
ST104Q05       153142 non-null float64
ST104Q06       153012 non-null float64
IC01Q01        133502 non-null object
IC01Q02        133696 non-null object
IC01Q03        133016 non-null object
IC01Q04        133830 non-null object
IC01Q05        133615 non-null object
IC01Q06        132447 non-null object
IC01Q07        133290 non-null object
IC01Q08        133752 non-null object
IC01Q09        133649 non-null object
IC01Q10        133819 non-null object
IC01Q11        132587 non-null object
IC02Q01        133380 non-null object
IC02Q02        132866 non-null object
IC02Q03        132444 non-null object
IC02Q04        133458 non-null object
IC02Q05        133171 non-null object
IC02Q06        132951 non-null object
IC02Q07        132067 non-null object
IC03Q01        133541 non-null object
IC04Q01        133272 non-null object
IC05Q01        241336 non-null int64
IC06Q01        241336 non-null int64
IC07Q01        241336 non-null int64
IC08Q01        132359 non-null object
IC08Q02        132202 non-null object
IC08Q03        131971 non-null object
IC08Q04        131953 non-null object
IC08Q05        132252 non-null object
IC08Q06        132241 non-null object
IC08Q07        132134 non-null object
IC08Q08        131938 non-null object
IC08Q09        132078 non-null object
IC08Q11        131951 non-null object
IC09Q01        131604 non-null object
IC09Q02        131447 non-null object
IC09Q03        131236 non-null object
IC09Q04        131247 non-null object
IC09Q05        131142 non-null object
IC09Q06        131199 non-null object
IC09Q07        131200 non-null object
IC10Q01        131034 non-null object
IC10Q02        130667 non-null object
IC10Q03        130205 non-null object
IC10Q04        130655 non-null object
IC10Q05        130724 non-null object
IC10Q06        130277 non-null object
IC10Q07        130502 non-null object
IC10Q08        130506 non-null object
IC10Q09        130491 non-null object
IC11Q01        130073 non-null object
IC11Q02        129919 non-null object
IC11Q03        129723 non-null object
IC11Q04        129775 non-null object
IC11Q05        129759 non-null object
IC11Q06        129848 non-null object
IC11Q07        129759 non-null object
IC22Q01        130333 non-null object
IC22Q02        130148 non-null object
IC22Q04        130036 non-null object
IC22Q06        129764 non-null object
IC22Q07        129579 non-null object
IC22Q08        129538 non-null object
EC01Q01        77445 non-null object
EC02Q01        77449 non-null object
EC03Q01        76886 non-null object
EC03Q02        81699 non-null object
EC03Q03        81665 non-null object
EC03Q04        81701 non-null object
EC03Q05        81547 non-null object
EC03Q06        81474 non-null object
EC03Q07        81678 non-null object
EC03Q08        81515 non-null object
EC03Q09        81578 non-null object
EC03Q10        63870 non-null object
EC04Q01A       84177 non-null float64
EC04Q01B       84188 non-null float64
EC04Q01C       84190 non-null float64
EC04Q02A       84209 non-null float64
EC04Q02B       84210 non-null float64
EC04Q02C       84216 non-null float64
EC04Q03A       84202 non-null float64
EC04Q03B       84198 non-null float64
EC04Q03C       84199 non-null float64
EC04Q04A       84097 non-null float64
EC04Q04B       84093 non-null float64
EC04Q04C       84095 non-null float64
EC04Q05A       84143 non-null float64
EC04Q05B       84142 non-null float64
EC04Q05C       84146 non-null float64
EC04Q06A       84062 non-null float64
EC04Q06B       84063 non-null float64
EC04Q06C       84060 non-null float64
EC05Q01        65319 non-null object
EC06Q01        20748 non-null object
EC07Q01        20523 non-null object
EC07Q02        20174 non-null object
EC07Q03        20142 non-null object
EC07Q04        20309 non-null object
EC07Q05        20396 non-null object
EC08Q01        20359 non-null object
EC08Q02        20300 non-null object
EC08Q03        20339 non-null object
EC08Q04        20287 non-null object
EC09Q03        57705 non-null object
EC10Q01        19871 non-null object
EC11Q02        57700 non-null object
EC11Q03        57706 non-null object
EC12Q01        19555 non-null object
ST22Q01        17615 non-null object
ST23Q01        5543 non-null object
ST23Q02        5449 non-null object
ST23Q03        5444 non-null object
ST23Q04        5409 non-null object
ST23Q05        5413 non-null object
ST23Q06        5374 non-null object
ST23Q07        5387 non-null object
ST23Q08        5377 non-null object
ST24Q01        5301 non-null object
ST24Q02        5269 non-null object
ST24Q03        5230 non-null object
CLCUSE1        205556 non-null object
CLCUSE301      241336 non-null int64
CLCUSE302      241336 non-null int64
DEFFORT        241336 non-null int64
QUESTID        241336 non-null object
BOOKID         241336 non-null object
EASY           241336 non-null object
AGE            241336 non-null float64
GRADE          241222 non-null float64
PROGN          241336 non-null object
ANXMAT         155488 non-null float64
ATSCHL         154214 non-null float64
ATTLNACT       153662 non-null float64
BELONG         154661 non-null float64
BFMJ2          204741 non-null float64
BMMJ1          188482 non-null float64
CLSMAN         154312 non-null float64
COBN_F         238767 non-null object
COBN_M         238782 non-null object
COBN_S         238778 non-null object
COGACT         155345 non-null float64
CULTDIST       5291 non-null float64
CULTPOS        233260 non-null float64
DISCLIMA       155527 non-null float64
ENTUSE         132841 non-null float64
ESCS           232188 non-null float64
EXAPPLM        154776 non-null float64
EXPUREM        154432 non-null float64
FAILMAT        155395 non-null float64
FAMCON         154814 non-null float64
FAMCONC        153835 non-null float64
FAMSTRUC       210802 non-null float64
FISCED         222904 non-null object
HEDRES         236577 non-null float64
HERITCUL       5438 non-null float64
HISCED         233618 non-null object
HISEI          221694 non-null float64
HOMEPOS        237633 non-null float64
HOMSCH         131795 non-null float64
HOSTCUL        5493 non-null float64
ICTATTNEG      130006 non-null float64
ICTATTPOS      130392 non-null float64
ICTHOME        134324 non-null float64
ICTRES         236658 non-null float64
ICTSCH         133906 non-null float64
IMMIG          233468 non-null object
INFOCAR        82030 non-null float64
INFOJOB1       36017 non-null float64
INFOJOB2       36017 non-null float64
INSTMOT        156474 non-null float64
INTMAT         156663 non-null float64
ISCEDD         241284 non-null object
ISCEDL         241284 non-null object
ISCEDO         241284 non-null object
LANGCOMM       20583 non-null float64
LANGN          238764 non-null object
LANGRPPD       19967 non-null float64
LMINS          139268 non-null float64
MATBEH         155121 non-null float64
MATHEFF        156266 non-null float64
MATINTFC       148183 non-null float64
MATWKETH       155437 non-null float64
MISCED         230397 non-null object
MMINS          139342 non-null float64
MTSUP          154803 non-null float64
OCOD1          240168 non-null object
OCOD2          239542 non-null object
OPENPS         154529 non-null float64
OUTHOURS       153273 non-null float64
PARED          233618 non-null float64
PERSEV         154748 non-null float64
REPEAT         236077 non-null object
SCMAT          155387 non-null float64
SMINS          132974 non-null float64
STUDREL        154917 non-null float64
SUBNORM        156418 non-null float64
TCHBEHFA       155418 non-null float64
TCHBEHSO       155720 non-null float64
TCHBEHTD       155917 non-null float64
TEACHSUP       156398 non-null float64
TESTLANG       240811 non-null object
TIMEINT        133747 non-null float64
USEMATH        130304 non-null float64
USESCH         131597 non-null float64
WEALTH         237528 non-null float64
ANCATSCHL      151195 non-null float64
ANCATTLNACT    150978 non-null float64
ANCBELONG      151618 non-null float64
ANCCLSMAN      152092 non-null float64
ANCCOGACT      151963 non-null float64
ANCINSTMOT     76539 non-null float64
ANCINTMAT      76579 non-null float64
ANCMATWKETH    75827 non-null float64
ANCMTSUP       152199 non-null float64
ANCSCMAT       151257 non-null float64
ANCSTUDREL     151837 non-null float64
ANCSUBNORM     76553 non-null float64
PV1MATH        241336 non-null float64
PV2MATH        241336 non-null float64
PV3MATH        241336 non-null float64
PV4MATH        241336 non-null float64
PV5MATH        241336 non-null float64
PV1MACC        233855 non-null float64
PV2MACC        233855 non-null float64
PV3MACC        233855 non-null float64
PV4MACC        233855 non-null float64
PV5MACC        233855 non-null float64
PV1MACQ        233855 non-null float64
PV2MACQ        233855 non-null float64
PV3MACQ        233855 non-null float64
PV4MACQ        233855 non-null float64
PV5MACQ        233855 non-null float64
PV1MACS        233855 non-null float64
PV2MACS        233855 non-null float64
PV3MACS        233855 non-null float64
PV4MACS        233855 non-null float64
PV5MACS        233855 non-null float64
PV1MACU        233855 non-null float64
PV2MACU        233855 non-null float64
PV3MACU        233855 non-null float64
PV4MACU        233855 non-null float64
PV5MACU        233855 non-null float64
PV1MAPE        232263 non-null float64
PV2MAPE        232263 non-null float64
PV3MAPE        232263 non-null float64
PV4MAPE        232263 non-null float64
PV5MAPE        232263 non-null float64
PV1MAPF        232263 non-null float64
PV2MAPF        232263 non-null float64
PV3MAPF        232263 non-null float64
PV4MAPF        232263 non-null float64
PV5MAPF        232263 non-null float64
PV1MAPI        232263 non-null float64
PV2MAPI        232263 non-null float64
PV3MAPI        232263 non-null float64
PV4MAPI        232263 non-null float64
PV5MAPI        232263 non-null float64
PV1READ        241336 non-null float64
PV2READ        241336 non-null float64
PV3READ        241336 non-null float64
PV4READ        241336 non-null float64
PV5READ        241336 non-null float64
PV1SCIE        241336 non-null float64
PV2SCIE        241336 non-null float64
PV3SCIE        241336 non-null float64
PV4SCIE        241336 non-null float64
PV5SCIE        241336 non-null float64
W_FSTUWT       241336 non-null float64
W_FSTR1        241336 non-null float64
W_FSTR2        241336 non-null float64
W_FSTR3        241336 non-null float64
W_FSTR4        241336 non-null float64
W_FSTR5        241336 non-null float64
W_FSTR6        241336 non-null float64
W_FSTR7        241336 non-null float64
W_FSTR8        241336 non-null float64
W_FSTR9        241336 non-null float64
W_FSTR10       241336 non-null float64
W_FSTR11       241336 non-null float64
W_FSTR12       241336 non-null float64
W_FSTR13       241336 non-null float64
W_FSTR14       241336 non-null float64
W_FSTR15       241336 non-null float64
W_FSTR16       241336 non-null float64
W_FSTR17       241336 non-null float64
W_FSTR18       241336 non-null float64
W_FSTR19       241336 non-null float64
W_FSTR20       241336 non-null float64
W_FSTR21       241336 non-null float64
W_FSTR22       241336 non-null float64
W_FSTR23       241336 non-null float64
W_FSTR24       241336 non-null float64
W_FSTR25       241336 non-null float64
W_FSTR26       241336 non-null float64
W_FSTR27       241336 non-null float64
W_FSTR28       241336 non-null float64
W_FSTR29       241336 non-null float64
W_FSTR30       241336 non-null float64
W_FSTR31       241336 non-null float64
W_FSTR32       241336 non-null float64
W_FSTR33       241336 non-null float64
W_FSTR34       241336 non-null float64
W_FSTR35       241336 non-null float64
W_FSTR36       241336 non-null float64
W_FSTR37       241336 non-null float64
W_FSTR38       241336 non-null float64
W_FSTR39       241336 non-null float64
W_FSTR40       241336 non-null float64
W_FSTR41       241336 non-null float64
W_FSTR42       241336 non-null float64
W_FSTR43       241336 non-null float64
W_FSTR44       241336 non-null float64
W_FSTR45       241336 non-null float64
W_FSTR46       241336 non-null float64
W_FSTR47       241336 non-null float64
W_FSTR48       241336 non-null float64
W_FSTR49       241336 non-null float64
W_FSTR50       241336 non-null float64
W_FSTR51       241336 non-null float64
W_FSTR52       241336 non-null float64
W_FSTR53       241336 non-null float64
W_FSTR54       241336 non-null float64
W_FSTR55       241336 non-null float64
W_FSTR56       241336 non-null float64
W_FSTR57       241336 non-null float64
W_FSTR58       241336 non-null float64
W_FSTR59       241336 non-null float64
W_FSTR60       241336 non-null float64
W_FSTR61       241336 non-null float64
W_FSTR62       241336 non-null float64
W_FSTR63       241336 non-null float64
W_FSTR64       241336 non-null float64
W_FSTR65       241336 non-null float64
W_FSTR66       241336 non-null float64
W_FSTR67       241336 non-null float64
W_FSTR68       241336 non-null float64
W_FSTR69       241336 non-null float64
W_FSTR70       241336 non-null float64
W_FSTR71       241336 non-null float64
W_FSTR72       241336 non-null float64
W_FSTR73       241336 non-null float64
W_FSTR74       241336 non-null float64
W_FSTR75       241336 non-null float64
W_FSTR76       241336 non-null float64
W_FSTR77       241336 non-null float64
W_FSTR78       241336 non-null float64
W_FSTR79       241336 non-null float64
W_FSTR80       241336 non-null float64
WVARSTRR       241336 non-null int64
VAR_UNIT       241336 non-null int64
SENWGT_STU     241336 non-null float64
VER_STU        241336 non-null object
dtypes: float64(250), int64(17), object(368)
memory usage: 1.1+ GB
In [10]:
boolean_columns = []
for column in pisa2012.select_dtypes('object').columns:
    if pisa2012[column].nunique() == 2 and "Yes" in pisa2012[column].unique():
        boolean_columns.append(column)
In [11]:
pisa2012[boolean_columns].sample(10)
Out[11]:
ST11Q01 ST11Q02 ST11Q03 ST11Q04 ST11Q05 ST11Q06 ST14Q01 ST14Q02 ST14Q03 ST14Q04 ST18Q01 ST18Q02 ST18Q03 ST18Q04 ST26Q01 ST26Q02 ST26Q03 ST26Q04 ST26Q05 ST26Q06 ST26Q07 ST26Q08 ST26Q09 ST26Q10 ST26Q11 ST26Q12 ST26Q13 ST26Q14 EC03Q01 EC03Q02 EC03Q03 EC03Q04 EC03Q05 EC03Q06 EC03Q07 EC03Q08 EC03Q09 EC03Q10 EC09Q03 EC11Q02 EC11Q03 ST22Q01
215592 Yes Yes Yes Yes Yes No Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes No Yes NaN No, never No, never Yes No, never Yes Yes Yes Yes NaN NaN NaN NaN NaN
149305 Yes Yes Yes No No No NaN Yes No No Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
209537 Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No Yes No Yes No Yes No, never No, never No, never No, never No, never Yes No, never Yes Yes Yes No, never No, never No, never NaN
58359 Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes No Yes No No Yes Yes No Yes No Yes NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
234265 Yes Yes Yes No No No NaN NaN NaN NaN NaN NaN NaN NaN Yes Yes Yes Yes NaN Yes NaN Yes Yes NaN NaN Yes Yes Yes NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
125903 Yes No Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
179526 NaN NaN NaN NaN NaN NaN No Yes No No NaN NaN NaN NaN Yes Yes Yes Yes No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes No, never Yes Yes Yes Yes NaN NaN NaN NaN Yes
44947 Yes NaN Yes Yes NaN NaN NaN Yes NaN NaN NaN Yes NaN NaN Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes No Yes No, never No, never No, never No, never No, never No, never No, never No, never No, never No, never No, never No, never No, never Yes
12276 Yes Yes Yes Yes No No NaN Yes NaN NaN NaN Yes NaN NaN Yes Yes Yes Yes No Yes Yes Yes Yes Yes No Yes Yes Yes NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
206353 Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes No Yes No No No Yes Yes Yes Yes Yes NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
In [12]:
pd.reset_option('all', True)
In [13]:
# check duplicates

pisa2012.duplicated().any()
Out[13]:
False
In [14]:
pisa2012['NC'].unique()
Out[14]:
array(['Albania', 'United Arab Emirates ', 'Argentina', 'Australia',
       'Austria', 'Belgium', 'Bulgaria ', 'Brazil ', 'Canada ',
       'Switzerland', 'Chile', 'Colombia ', 'Costa Rica ',
       'Czech Republic ', 'Germany', 'Denmark', 'Spain', 'Estonia',
       'Finland', 'France ', 'United Kingdom (excl.Scotland) ',
       'United Kingdom (Scotland)', 'Greece ', 'Hong Kong-China',
       'Croatia', 'Hungary', 'Indonesia', 'Ireland', 'Iceland', 'Israel ',
       'Italy'], dtype=object)
In [15]:
pisa2012['CNT'].unique()
Out[15]:
array(['Albania', 'United Arab Emirates', 'Argentina', 'Australia',
       'Austria', 'Belgium', 'Bulgaria', 'Brazil', 'Canada', 'Switzerland',
       'Chile', 'Colombia', 'Costa Rica', 'Czech Republic', 'Germany',
       'Denmark', 'Spain', 'Estonia', 'Finland', 'France',
       'United Kingdom', 'Greece', 'Hong Kong-China', 'Croatia', 'Hungary',
       'Indonesia', 'Ireland', 'Iceland', 'Israel', 'Italy'], dtype=object)
In [16]:
# check if the column are equal

pisa2012['CNT'].equals(pisa2012['NC'])
Out[16]:
False
In [17]:
# Get total number of missing values

pisa2012.isnull().sum().sum()
Out[17]:
45481635
In [18]:
pd.set_option('display.max_columns', 1000)
pd.set_option('display.max_rows', 1000)
pd.set_option('display.max_info_columns', 1000)
In [19]:
# Get the statistic of numerical columns

pisa2012.select_dtypes('number').describe().T
Out[19]:
count mean std min 25% 50% 75% max
SUBNATIO 241336.0 3.205475e+06 2.746301e+06 80000.0000 1000000.000000 2.080000e+06 7.240000e+06 8.262000e+06
SCHOOLID 241336.0 2.386435e+02 2.148642e+02 1.0000 83.000000 1.650000e+02 3.290000e+02 9.020000e+02
STIDSTD 241336.0 5.920032e+03 5.365551e+03 1.0000 2055.000000 4.158000e+03 8.210000e+03 2.531300e+04
ST01Q01 241336.0 9.709322e+00 2.049923e+00 7.0000 9.000000 1.000000e+01 1.000000e+01 9.600000e+01
ST02Q01 241284.0 2.729087e+00 3.292759e+00 1.0000 1.000000 1.000000e+00 3.000000e+00 2.500000e+01
ST03Q01 241336.0 6.567557e+00 3.420700e+00 1.0000 4.000000 7.000000e+00 1.000000e+01 1.200000e+01
ST03Q02 241336.0 1.996075e+03 2.634106e-01 1996.0000 1996.000000 1.996000e+03 1.996000e+03 1.997000e+03
ST06Q01 223900.0 6.048937e+00 1.141765e+00 4.0000 5.000000 6.000000e+00 7.000000e+00 1.600000e+01
ST115Q01 237280.0 1.255171e+00 5.749736e-01 1.0000 1.000000 1.000000e+00 1.000000e+00 4.000000e+00
ST21Q01 18849.0 6.527137e+00 4.521022e+00 0.0000 3.000000 6.000000e+00 1.000000e+01 1.600000e+01
ST26Q15 241336.0 6.374185e+05 1.682308e+06 8001.0000 124001.000000 2.330010e+05 7.240010e+05 9.999999e+06
ST26Q16 241336.0 6.574546e+05 1.735170e+06 8001.0000 124001.000000 2.330010e+05 7.240010e+05 9.999999e+06
ST26Q17 241336.0 6.969382e+05 1.834802e+06 8001.0000 124001.000000 2.330010e+05 7.240020e+05 9.999999e+06
ST57Q01 150053.0 5.014448e+00 4.839646e+00 0.0000 2.000000 3.000000e+00 6.000000e+00 3.000000e+01
ST57Q02 134878.0 1.432554e+00 2.437571e+00 0.0000 0.000000 1.000000e+00 2.000000e+00 3.000000e+01
ST57Q03 141235.0 8.613092e-01 2.037659e+00 0.0000 0.000000 0.000000e+00 1.000000e+00 3.000000e+01
ST57Q04 139316.0 7.961900e-01 2.128488e+00 0.0000 0.000000 0.000000e+00 0.000000e+00 3.000000e+01
ST57Q05 143781.0 1.126442e+00 2.257756e+00 0.0000 0.000000 0.000000e+00 1.000000e+00 3.000000e+01
ST57Q06 143540.0 1.334987e+00 2.553743e+00 0.0000 0.000000 0.000000e+00 2.000000e+00 3.000000e+01
ST69Q01 146030.0 5.398878e+01 1.855630e+01 15.0000 45.000000 5.000000e+01 6.000000e+01 1.800000e+02
ST69Q02 145439.0 5.410657e+01 1.855290e+01 15.0000 45.000000 5.000000e+01 6.000000e+01 1.800000e+02
ST69Q03 141490.0 5.388678e+01 1.776978e+01 15.0000 45.000000 5.000000e+01 6.000000e+01 1.800000e+02
ST70Q01 146373.0 4.223211e+00 1.579594e+00 0.0000 3.000000 4.000000e+00 5.000000e+00 4.000000e+01
ST70Q02 147078.0 4.285944e+00 1.559019e+00 0.0000 3.000000 4.000000e+00 5.000000e+00 4.000000e+01
ST70Q03 142584.0 3.988680e+00 2.327975e+00 0.0000 2.000000 4.000000e+00 5.000000e+00 4.000000e+01
ST71Q01 126526.0 3.027085e+01 8.915912e+00 1.0000 25.000000 3.000000e+01 3.500000e+01 1.910000e+02
ST72Q01 147236.0 2.447528e+01 8.169811e+00 0.0000 20.000000 2.400000e+01 3.000000e+01 2.000000e+02
ST101Q01 153662.0 1.874341e+00 9.078018e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 4.000000e+00
ST101Q02 153418.0 2.052601e+00 9.276601e-01 1.0000 1.000000 2.000000e+00 3.000000e+00 4.000000e+00
ST101Q03 153108.0 2.843163e+00 9.679391e-01 1.0000 2.000000 3.000000e+00 4.000000e+00 4.000000e+00
ST101Q05 153243.0 2.176230e+00 9.033173e-01 1.0000 2.000000 2.000000e+00 3.000000e+00 4.000000e+00
ST104Q01 153207.0 1.856880e+00 8.002976e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 4.000000e+00
ST104Q04 152959.0 2.799789e+00 9.947980e-01 1.0000 2.000000 3.000000e+00 4.000000e+00 4.000000e+00
ST104Q05 153142.0 2.019923e+00 9.022030e-01 1.0000 1.000000 2.000000e+00 3.000000e+00 4.000000e+00
ST104Q06 153012.0 1.951951e+00 8.614875e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 4.000000e+00
IC05Q01 241336.0 4.516354e+01 4.720102e+01 1.0000 2.000000 4.000000e+00 9.700000e+01 9.900000e+01
IC06Q01 241336.0 4.606732e+01 4.623211e+01 1.0000 4.000000 6.000000e+00 9.700000e+01 9.900000e+01
IC07Q01 241336.0 4.667766e+01 4.604927e+01 1.0000 5.000000 7.000000e+00 9.700000e+01 9.900000e+01
EC04Q01A 84177.0 1.567483e+00 4.954281e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q01B 84188.0 1.466480e+00 4.988781e-01 1.0000 1.000000 1.000000e+00 2.000000e+00 2.000000e+00
EC04Q01C 84190.0 1.889963e+00 3.129375e-01 1.0000 2.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q02A 84209.0 1.691280e+00 4.619681e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q02B 84210.0 1.458698e+00 4.982942e-01 1.0000 1.000000 1.000000e+00 2.000000e+00 2.000000e+00
EC04Q02C 84216.0 1.817600e+00 3.861762e-01 1.0000 2.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q03A 84202.0 1.577219e+00 4.940042e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q03B 84198.0 1.676501e+00 4.678142e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q03C 84199.0 1.733097e+00 4.423441e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q04A 84097.0 1.676849e+00 4.676825e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q04B 84093.0 1.649507e+00 4.771272e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q04C 84095.0 1.667555e+00 4.710925e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q05A 84143.0 1.591232e+00 4.916093e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q05B 84142.0 1.595172e+00 4.908616e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q05C 84146.0 1.769306e+00 4.212796e-01 1.0000 2.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q06A 84062.0 1.750589e+00 4.326748e-01 1.0000 2.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q06B 84063.0 1.738648e+00 4.393737e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
EC04Q06C 84060.0 1.515501e+00 4.997626e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 2.000000e+00
CLCUSE301 241336.0 1.896020e+01 3.023892e+01 1.0000 7.000000 8.000000e+00 9.000000e+00 9.900000e+01
CLCUSE302 241336.0 2.002604e+01 2.917129e+01 1.0000 9.000000 1.000000e+01 1.000000e+01 9.900000e+01
DEFFORT 241336.0 1.447407e+01 3.286254e+01 -9.0000 1.000000 2.000000e+00 3.000000e+00 9.900000e+01
AGE 241336.0 1.579939e+01 2.911788e-01 15.2500 15.580000 1.583000e+01 1.600000e+01 1.633000e+01
GRADE 241222.0 -1.842867e-01 7.082761e-01 -3.0000 0.000000 0.000000e+00 0.000000e+00 2.000000e+00
ANXMAT 155488.0 8.859983e-02 9.764628e-01 -2.3700 -0.470000 6.000000e-02 7.900000e-01 2.550000e+00
ATSCHL 154214.0 9.691396e-02 1.020408e+00 -2.9900 -0.640000 -2.400000e-01 7.700000e-01 2.350000e+00
ATTLNACT 153662.0 1.054224e-01 9.851288e-01 -3.3758 -0.939400 8.730000e-02 1.211500e+00 1.211500e+00
BELONG 154661.0 3.851430e-02 1.007381e+00 -3.6900 -0.560000 -1.500000e-01 5.600000e-01 2.630000e+00
BFMJ2 204741.0 4.349883e+01 2.191867e+01 11.0100 25.510000 3.534000e+01 6.440000e+01 8.896000e+01
BMMJ1 188482.0 4.517588e+01 2.197026e+01 11.0100 25.040000 4.333000e+01 6.523000e+01 8.896000e+01
CLSMAN 154312.0 6.004002e-02 1.009276e+00 -3.2530 -0.449900 -7.840000e-02 7.640000e-01 2.198900e+00
COGACT 155345.0 1.195339e-01 1.001324e+00 -3.8840 -0.459300 1.015000e-01 5.403000e-01 3.201900e+00
CULTDIST 5291.0 -2.712173e-01 1.050812e+00 -2.7210 -0.790100 -4.313000e-01 3.535000e-01 1.535500e+00
CULTPOS 233260.0 -6.734288e-02 9.897590e-01 -1.5100 -0.480000 -3.000000e-02 1.270000e+00 1.270000e+00
DISCLIMA 155527.0 -4.287590e-02 9.977489e-01 -2.4800 -0.710000 -8.000000e-02 4.900000e-01 1.850000e+00
ENTUSE 132841.0 1.803916e-02 9.220332e-01 -3.9749 -0.454900 -1.800000e-03 4.546000e-01 4.431900e+00
ESCS 232188.0 -1.356820e-01 1.110666e+00 -5.9500 -0.840000 -4.000000e-02 7.300000e-01 3.270000e+00
EXAPPLM 154776.0 -1.789129e-02 9.896884e-01 -2.9868 -0.529800 -6.810000e-02 5.359000e-01 3.203900e+00
EXPUREM 154432.0 -4.901770e-02 1.010730e+00 -2.7334 -0.663500 1.674000e-01 7.955000e-01 7.955000e-01
FAILMAT 155395.0 4.040819e-02 9.958037e-01 -3.7666 -0.530000 1.524000e-01 6.400000e-01 3.906700e+00
FAMCON 154814.0 3.067474e-02 1.037304e+00 -4.5723 -0.540300 -3.550000e-02 5.567000e-01 4.444100e+00
FAMCONC 153835.0 -7.546937e-02 1.019658e+00 -5.1600 -0.780000 -2.000000e-01 5.300000e-01 5.180000e+00
FAMSTRUC 210802.0 1.878772e+00 3.913612e-01 1.0000 2.000000 2.000000e+00 2.000000e+00 3.000000e+00
HEDRES 236577.0 -1.664606e-01 1.045466e+00 -3.9300 -0.690000 4.000000e-02 1.120000e+00 1.120000e+00
HERITCUL 5438.0 -1.438353e-01 9.781056e-01 -2.7311 -0.753400 -3.784000e-01 7.194000e-01 1.305000e+00
HISEI 221694.0 5.054694e+01 2.197760e+01 11.0100 29.180000 5.150000e+01 7.089000e+01 8.896000e+01
HOMEPOS 237633.0 -2.058987e-01 1.102000e+00 -6.8800 -0.830000 -1.700000e-01 4.600000e-01 4.150000e+00
HOMSCH 131795.0 8.164331e-04 9.600686e-01 -2.4442 -0.447700 5.260000e-02 6.173000e-01 3.733200e+00
HOSTCUL 5493.0 -1.420208e-01 1.020472e+00 -2.8113 -0.928000 -8.740000e-02 1.159100e+00 1.192100e+00
ICTATTNEG 130006.0 -2.648247e-02 9.670029e-01 -2.1575 -0.739400 -1.489000e-01 7.005000e-01 2.408300e+00
ICTATTPOS 130392.0 4.984947e-02 9.671106e-01 -2.8999 -0.509600 2.790000e-02 1.304500e+00 1.304500e+00
ICTHOME 134324.0 8.272502e-02 9.093375e-01 -4.0178 -0.501500 2.500000e-03 7.157000e-01 2.783300e+00
ICTRES 236658.0 -1.675333e-01 1.137673e+00 -3.1600 -0.400000 2.400000e-01 2.400000e-01 1.150000e+00
ICTSCH 133906.0 6.091502e-02 9.802532e-01 -2.8038 -0.416600 -8.360000e-02 5.423000e-01 2.826100e+00
INFOCAR 82030.0 5.380453e-02 9.807846e-01 -2.3074 -0.413800 1.310000e-01 6.025000e-01 2.784600e+00
INFOJOB1 36017.0 9.300924e-02 9.834721e-01 -1.5392 -0.617100 1.049000e-01 9.047000e-01 1.701000e+00
INFOJOB2 36017.0 8.115983e-02 9.746295e-01 -1.7872 -0.636000 1.535000e-01 7.564000e-01 1.337800e+00
INSTMOT 156474.0 1.276312e-01 9.834836e-01 -2.3000 -0.670000 5.000000e-02 8.000000e-01 1.590000e+00
INTMAT 156663.0 1.440779e-01 1.003744e+00 -1.7800 -0.340000 0.000000e+00 9.100000e-01 2.290000e+00
LANGCOMM 20583.0 1.544721e+00 1.816189e+00 0.0000 0.000000 1.000000e+00 3.000000e+00 5.000000e+00
LANGRPPD 19967.0 8.034757e-01 1.449902e+00 0.0000 0.000000 0.000000e+00 1.000000e+00 4.000000e+00
LMINS 139268.0 2.240755e+02 1.013925e+02 0.0000 180.000000 2.000000e+02 2.500000e+02 1.980000e+03
MATBEH 155121.0 1.384525e-01 1.026661e+00 -2.1402 -0.456700 2.171000e-01 8.110000e-01 4.424900e+00
MATHEFF 156266.0 -4.526922e-02 9.759080e-01 -3.7500 -0.630000 -1.800000e-01 5.400000e-01 2.270000e+00
MATINTFC 148183.0 -2.525838e-02 9.957829e-01 -1.5329 -0.733200 -2.514000e-01 6.584000e-01 1.456500e+00
MATWKETH 155437.0 1.375831e-01 1.007093e+00 -3.4503 -0.401700 1.099000e-01 6.490000e-01 2.716700e+00
MMINS 139342.0 2.280445e+02 1.027978e+02 0.0000 180.000000 2.200000e+02 2.500000e+02 2.040000e+03
MTSUP 154803.0 1.364682e-01 1.017624e+00 -2.8645 -0.657700 -2.395000e-01 6.709000e-01 1.843300e+00
OPENPS 154529.0 7.262690e-02 9.878651e-01 -3.6333 -0.543300 5.210000e-02 4.639000e-01 2.446500e+00
OUTHOURS 153273.0 9.993978e+00 9.758602e+00 0.0000 4.000000 7.000000e+00 1.300000e+01 1.800000e+02
PARED 233618.0 1.328907e+01 3.392904e+00 3.0000 12.000000 1.400000e+01 1.600000e+01 1.800000e+01
PERSEV 154748.0 1.169009e-01 9.887289e-01 -4.0530 -0.531600 5.110000e-02 4.795000e-01 3.528600e+00
SCMAT 155387.0 5.725363e-02 9.779049e-01 -2.1800 -0.520000 1.200000e-01 6.500000e-01 2.260000e+00
SMINS 132974.0 2.143634e+02 1.304275e+02 0.0000 135.000000 1.800000e+02 2.700000e+02 2.340000e+03
STUDREL 154917.0 1.128096e-01 1.020059e+00 -3.1100 -0.480000 -2.000000e-02 8.100000e-01 2.160000e+00
SUBNORM 156418.0 1.564473e-01 1.040410e+00 -4.2456 -0.385200 -4.550000e-02 6.602000e-01 3.858700e+00
TCHBEHFA 155418.0 1.225304e-01 1.018156e+00 -2.3919 -0.594500 -9.200000e-03 7.644000e-01 2.629500e+00
TCHBEHSO 155720.0 1.200413e-01 1.034908e+00 -1.5999 -0.580900 2.217000e-01 7.183000e-01 3.310800e+00
TCHBEHTD 155917.0 1.126241e-01 1.033227e+00 -3.6531 -0.561200 1.672000e-01 7.228000e-01 2.563000e+00
TEACHSUP 156398.0 1.546045e-01 9.992138e-01 -2.9200 -0.470000 1.100000e-01 9.700000e-01 1.680000e+00
TIMEINT 133747.0 5.498134e+01 4.120634e+01 0.0000 26.000000 4.300000e+01 7.500000e+01 2.060000e+02
USEMATH 130304.0 -2.323478e-02 9.768439e-01 -0.7749 -0.774900 -7.749000e-01 6.920000e-01 2.801100e+00
USESCH 131597.0 9.257212e-02 9.361199e-01 -1.6104 -0.398500 2.181000e-01 6.698000e-01 4.109900e+00
WEALTH 237528.0 -1.745334e-01 1.150027e+00 -5.6300 -0.840000 -1.200000e-01 4.600000e-01 3.250000e+00
ANCATSCHL 151195.0 1.427455e-02 9.992964e-01 -2.7779 -0.340600 1.565000e-01 4.410000e-01 3.042300e+00
ANCATTLNACT 150978.0 1.191101e-02 1.004458e+00 -2.6090 -0.593700 3.090000e-02 4.908000e-01 2.000900e+00
ANCBELONG 151618.0 -2.587734e-02 9.977241e-01 -3.3731 -0.371400 9.640000e-02 4.662000e-01 3.255400e+00
ANCCLSMAN 152092.0 -3.909195e-03 9.970564e-01 -2.8224 -0.379800 5.050000e-02 4.840000e-01 2.973400e+00
ANCCOGACT 151963.0 3.797786e-02 9.705673e-01 -3.0674 -0.165900 2.055000e-01 5.370000e-01 3.460300e+00
ANCINSTMOT 76539.0 5.999290e-02 9.802757e-01 -2.2172 -0.279500 1.111000e-01 5.560000e-01 2.530800e+00
ANCINTMAT 76579.0 6.898566e-02 9.848995e-01 -1.6958 -0.350200 1.147000e-01 6.442000e-01 2.998400e+00
ANCMATWKETH 75827.0 4.749147e-02 9.784626e-01 -2.7430 -0.219900 1.817000e-01 5.637000e-01 2.970700e+00
ANCMTSUP 152199.0 3.353902e-02 1.000837e+00 -2.7492 -0.367100 1.541000e-01 5.831000e-01 2.637900e+00
ANCSCMAT 151257.0 1.995301e-03 9.813579e-01 -2.0134 -0.416200 1.478000e-01 6.513000e-01 2.807300e+00
ANCSTUDREL 151837.0 1.465082e-02 9.932392e-01 -2.6658 -0.330300 1.593000e-01 4.759000e-01 2.821100e+00
ANCSUBNORM 76553.0 4.278953e-02 9.780751e-01 -3.0277 -0.198200 2.449000e-01 5.477000e-01 3.426000e+00
PV1MATH 241336.0 4.717723e+02 1.014799e+02 19.7928 398.356400 4.707976e+02 5.438620e+02 8.967986e+02
PV2MATH 241336.0 4.718050e+02 1.015124e+02 60.9986 398.434300 4.707197e+02 5.439399e+02 8.531781e+02
PV3MATH 241336.0 4.717426e+02 1.015445e+02 43.9399 398.278500 4.711092e+02 5.439399e+02 8.632264e+02
PV4MATH 241336.0 4.717771e+02 1.015545e+02 24.6222 398.668000 4.709534e+02 5.439399e+02 8.671989e+02
PV5MATH 241336.0 4.718326e+02 1.015837e+02 37.0852 398.200700 4.711092e+02 5.440178e+02 8.361972e+02
PV1MACC 233855.0 4.687540e+02 1.138929e+02 6.5509 389.788100 4.707197e+02 5.493924e+02 8.906450e+02
PV2MACC 233855.0 4.686929e+02 1.139626e+02 1.0983 389.710200 4.708755e+02 5.493145e+02 8.922028e+02
PV3MACC 233855.0 4.687442e+02 1.141193e+02 2.8120 389.710200 4.707976e+02 5.494703e+02 8.999922e+02
PV4MACC 233855.0 4.687092e+02 1.139403e+02 2.1109 389.554400 4.708755e+02 5.494703e+02 9.201667e+02
PV5MACC 233855.0 4.687414e+02 1.140070e+02 1.3320 389.710200 4.707197e+02 5.494703e+02 9.020953e+02
PV1MACQ 233855.0 4.725518e+02 1.097315e+02 7.8751 395.162800 4.737576e+02 5.508724e+02 8.787272e+02
PV2MACQ 233855.0 4.724642e+02 1.097669e+02 9.5887 395.162800 4.734460e+02 5.509503e+02 8.788830e+02
PV3MACQ 233855.0 4.725001e+02 1.099457e+02 4.2141 395.162800 4.735239e+02 5.509503e+02 8.733525e+02
PV4MACQ 233855.0 4.724954e+02 1.098063e+02 6.3951 395.162800 4.735239e+02 5.508724e+02 8.982785e+02
PV5MACQ 233855.0 4.725000e+02 1.098150e+02 12.0034 395.084900 4.732902e+02 5.509503e+02 8.850366e+02
PV1MACS 233855.0 4.654329e+02 1.068359e+02 3.9804 389.632300 4.623072e+02 5.386431e+02 9.349665e+02
PV2MACS 233855.0 4.653679e+02 1.068312e+02 29.8411 389.632300 4.622293e+02 5.387210e+02 9.497663e+02
PV3MACS 233855.0 4.654480e+02 1.068696e+02 35.2158 389.710200 4.626188e+02 5.391105e+02 8.933712e+02
PV4MACS 233855.0 4.654172e+02 1.067775e+02 35.2937 389.632300 4.625409e+02 5.391883e+02 8.984343e+02
PV5MACS 233855.0 4.654334e+02 1.068266e+02 2.0330 389.632300 4.623072e+02 5.391105e+02 9.478969e+02
PV1MACU 233855.0 4.723103e+02 1.010442e+02 7.9530 400.537500 4.706418e+02 5.436283e+02 8.827777e+02
PV2MACU 233855.0 4.722249e+02 1.009865e+02 2.5783 400.459600 4.703303e+02 5.432388e+02 9.014722e+02
PV3MACU 233855.0 4.722936e+02 1.012053e+02 3.4351 400.225900 4.703303e+02 5.438620e+02 8.767020e+02
PV4MACU 233855.0 4.723165e+02 1.009984e+02 11.5361 400.537500 4.706418e+02 5.437841e+02 8.437529e+02
PV5MACU 233855.0 4.723094e+02 1.010696e+02 5.3046 399.992200 4.705640e+02 5.436283e+02 8.687568e+02
PV1MAPE 232263.0 4.741287e+02 1.008884e+02 12.8603 402.952200 4.760944e+02 5.462767e+02 8.492834e+02
PV2MAPE 232263.0 4.741535e+02 1.008199e+02 0.0857 402.952200 4.754713e+02 5.462767e+02 8.398582e+02
PV3MAPE 232263.0 4.741663e+02 1.009364e+02 3.7467 402.952200 4.756270e+02 5.463546e+02 8.624474e+02
PV4MAPE 232263.0 4.741142e+02 1.009322e+02 0.0857 403.030100 4.754713e+02 5.462767e+02 8.366646e+02
PV5MAPE 232263.0 4.741502e+02 1.008424e+02 11.5361 402.952200 4.758607e+02 5.462767e+02 8.297320e+02
PV1MAPF 232263.0 4.704410e+02 1.111814e+02 10.5234 391.346000 4.688503e+02 5.478346e+02 9.013943e+02
PV2MAPF 232263.0 4.704557e+02 1.111130e+02 0.1636 391.969200 4.684608e+02 5.476788e+02 9.046658e+02
PV3MAPF 232263.0 4.704869e+02 1.111528e+02 10.5234 391.423900 4.686166e+02 5.478346e+02 9.426001e+02
PV4MAPF 232263.0 4.704164e+02 1.111708e+02 5.1488 391.423900 4.684608e+02 5.477567e+02 9.023290e+02
PV5MAPF 232263.0 4.704325e+02 1.111550e+02 0.9425 391.657600 4.684608e+02 5.478346e+02 9.429117e+02
PV1MAPI 232263.0 4.790297e+02 1.061398e+02 2.5783 404.120600 4.792102e+02 5.542218e+02 8.905671e+02
PV2MAPI 232263.0 4.790548e+02 1.059771e+02 3.3572 404.120600 4.792102e+02 5.540661e+02 9.007711e+02
PV3MAPI 232263.0 4.790756e+02 1.060502e+02 1.9551 404.198500 4.792881e+02 5.541439e+02 9.092616e+02
PV4MAPI 232263.0 4.789689e+02 1.060956e+02 2.5783 403.809000 4.792881e+02 5.540661e+02 8.851145e+02
PV5MAPI 232263.0 4.789950e+02 1.060535e+02 5.8498 403.964800 4.792881e+02 5.541439e+02 9.255414e+02
PV1READ 241336.0 4.770157e+02 1.017457e+02 0.0834 409.214300 4.815147e+02 5.492339e+02 8.757058e+02
PV2READ 241336.0 4.770401e+02 1.018691e+02 3.1093 408.893500 4.817102e+02 5.495871e+02 8.483272e+02
PV3READ 241336.0 4.769296e+02 1.018029e+02 0.7035 409.073700 4.815147e+02 5.491537e+02 8.628747e+02
PV4READ 241336.0 4.769099e+02 1.017966e+02 4.1344 408.973700 4.817530e+02 5.490735e+02 8.633396e+02
PV5READ 241336.0 4.770018e+02 1.019625e+02 2.3074 408.973700 4.815147e+02 5.493141e+02 8.476917e+02
PV1SCIE 241336.0 4.812632e+02 1.016482e+02 6.8445 410.052200 4.828329e+02 5.537486e+02 8.458971e+02
PV2SCIE 241336.0 4.812482e+02 1.016337e+02 2.8348 410.052200 4.827863e+02 5.536554e+02 9.005408e+02
PV3SCIE 241336.0 4.813003e+02 1.016058e+02 11.8799 410.052200 4.827863e+02 5.537486e+02 8.664118e+02
PV4SCIE 241336.0 4.812444e+02 1.016430e+02 8.4297 410.052200 4.829728e+02 5.536554e+02 9.007273e+02
PV5SCIE 241336.0 4.813540e+02 1.016251e+02 17.7546 410.052200 4.834390e+02 5.536554e+02 8.809586e+02
W_FSTUWT 241336.0 4.399888e+01 9.355083e+01 1.0000 5.395400 1.310020e+01 3.091900e+01 1.237768e+03
W_FSTR1 241336.0 4.466892e+01 1.122700e+02 0.5000 4.449600 1.139540e+01 3.076150e+01 1.856652e+03
W_FSTR2 241336.0 4.397526e+01 1.084307e+02 0.2929 4.424400 1.131460e+01 3.068080e+01 1.856652e+03
W_FSTR3 241336.0 4.413873e+01 1.065540e+02 0.2929 4.364900 1.131460e+01 3.072220e+01 1.760534e+03
W_FSTR4 241336.0 4.360142e+01 1.046863e+02 0.2929 4.406200 1.140000e+01 3.077410e+01 1.818074e+03
W_FSTR5 241336.0 4.450589e+01 1.109614e+02 0.2929 4.389200 1.137580e+01 3.079140e+01 1.856652e+03
W_FSTR6 241336.0 4.399536e+01 1.076859e+02 0.2929 4.382500 1.133820e+01 3.085345e+01 1.856652e+03
W_FSTR7 241336.0 4.437645e+01 1.085485e+02 0.2929 4.425700 1.139430e+01 3.069960e+01 1.755240e+03
W_FSTR8 241336.0 4.417688e+01 1.081522e+02 0.2929 4.387400 1.135160e+01 3.085930e+01 1.759890e+03
W_FSTR9 241336.0 4.403539e+01 1.054467e+02 0.2929 4.409200 1.134260e+01 3.048920e+01 1.743530e+03
W_FSTR10 241336.0 4.374371e+01 1.040248e+02 0.2929 4.421900 1.136510e+01 3.072945e+01 1.660741e+03
W_FSTR11 241336.0 4.386202e+01 1.073772e+02 0.2929 4.399400 1.137760e+01 3.088220e+01 1.856652e+03
W_FSTR12 241336.0 4.403693e+01 1.077554e+02 0.2929 4.403400 1.130525e+01 3.061640e+01 1.743530e+03
W_FSTR13 241336.0 4.369143e+01 1.051923e+02 0.2929 4.360600 1.140880e+01 3.111410e+01 1.856652e+03
W_FSTR14 241336.0 4.368533e+01 1.051687e+02 0.2929 4.392750 1.147110e+01 3.096248e+01 1.755240e+03
W_FSTR15 241336.0 4.383762e+01 1.062342e+02 0.2929 4.408100 1.128130e+01 3.060030e+01 1.856652e+03
W_FSTR16 241336.0 4.383139e+01 1.047540e+02 0.2929 4.385400 1.139030e+01 3.063980e+01 1.856652e+03
W_FSTR17 241336.0 4.453504e+01 1.101166e+02 0.2929 4.421500 1.137760e+01 3.094400e+01 1.856652e+03
W_FSTR18 241336.0 4.428893e+01 1.072230e+02 0.2929 4.389400 1.135390e+01 3.097960e+01 1.856652e+03
W_FSTR19 241336.0 4.410895e+01 1.071539e+02 0.2929 4.408100 1.136730e+01 3.086370e+01 1.679828e+03
W_FSTR20 241336.0 4.385202e+01 1.056501e+02 0.2929 4.397700 1.128870e+01 3.095220e+01 1.754678e+03
W_FSTR21 241336.0 4.397801e+01 1.087455e+02 0.2929 4.380200 1.134660e+01 3.093920e+01 1.856652e+03
W_FSTR22 241336.0 4.399768e+01 1.072666e+02 0.2929 4.393900 1.151800e+01 3.076980e+01 1.856652e+03
W_FSTR23 241336.0 4.341746e+01 1.039956e+02 0.2929 4.418775 1.138740e+01 3.082490e+01 1.760534e+03
W_FSTR24 241336.0 4.402144e+01 1.073484e+02 0.2929 4.415700 1.127300e+01 3.047270e+01 1.700195e+03
W_FSTR25 241336.0 4.430991e+01 1.093567e+02 0.2929 4.408550 1.137600e+01 3.092670e+01 1.856652e+03
W_FSTR26 241336.0 4.450698e+01 1.104194e+02 0.2929 4.417675 1.137060e+01 3.070250e+01 1.856652e+03
W_FSTR27 241336.0 4.463402e+01 1.103093e+02 0.2929 4.380900 1.134060e+01 3.093920e+01 1.755240e+03
W_FSTR28 241336.0 4.432435e+01 1.092611e+02 0.2929 4.392800 1.138110e+01 3.072277e+01 1.818074e+03
W_FSTR29 241336.0 4.350283e+01 1.024527e+02 0.2929 4.411400 1.133820e+01 3.097240e+01 1.583698e+03
W_FSTR30 241336.0 4.395605e+01 1.055613e+02 0.2929 4.406600 1.133820e+01 3.076830e+01 1.743530e+03
W_FSTR31 241336.0 4.436466e+01 1.088583e+02 0.2929 4.404500 1.145890e+01 3.100110e+01 1.856652e+03
W_FSTR32 241336.0 4.402751e+01 1.057850e+02 0.2929 4.406400 1.136730e+01 3.084067e+01 1.679828e+03
W_FSTR33 241336.0 4.397685e+01 1.064130e+02 0.2929 4.387200 1.137050e+01 3.116010e+01 1.856652e+03
W_FSTR34 241336.0 4.409218e+01 1.067894e+02 0.2929 4.418700 1.138410e+01 3.084010e+01 1.755240e+03
W_FSTR35 241336.0 4.403848e+01 1.077255e+02 0.2929 4.363175 1.153350e+01 3.043340e+01 1.856652e+03
W_FSTR36 241336.0 4.413063e+01 1.062926e+02 0.2929 4.377600 1.146250e+01 3.060600e+01 1.856652e+03
W_FSTR37 241336.0 4.402286e+01 1.074410e+02 0.2929 4.401275 1.138760e+01 3.069310e+01 1.856652e+03
W_FSTR38 241336.0 4.392743e+01 1.065674e+02 0.2929 4.390100 1.127140e+01 3.092200e+01 1.856652e+03
W_FSTR39 241336.0 4.364487e+01 1.044193e+02 0.2929 4.390200 1.141680e+01 3.072220e+01 1.743530e+03
W_FSTR40 241336.0 4.381059e+01 1.056281e+02 0.2929 4.382500 1.123720e+01 3.109850e+01 1.754678e+03
W_FSTR41 241336.0 4.391441e+01 1.063054e+02 0.2929 4.398800 1.127600e+01 3.060030e+01 1.818074e+03
W_FSTR42 241336.0 4.386924e+01 1.049105e+02 0.2929 4.415200 1.127140e+01 3.109850e+01 1.660741e+03
W_FSTR43 241336.0 4.370594e+01 1.040831e+02 0.2929 4.427600 1.134710e+01 3.090780e+01 1.856652e+03
W_FSTR44 241336.0 4.368162e+01 1.046266e+02 0.2929 4.393400 1.130190e+01 3.069580e+01 1.856652e+03
W_FSTR45 241336.0 4.408618e+01 1.076993e+02 0.2929 4.406775 1.134990e+01 3.079140e+01 1.818074e+03
W_FSTR46 241336.0 4.440176e+01 1.098895e+02 0.2929 4.420900 1.129990e+01 3.076640e+01 1.818074e+03
W_FSTR47 241336.0 4.420628e+01 1.088458e+02 0.2929 4.412525 1.137260e+01 3.061100e+01 1.856652e+03
W_FSTR48 241336.0 4.391849e+01 1.083322e+02 0.2929 4.406400 1.130010e+01 3.090128e+01 1.856652e+03
W_FSTR49 241336.0 4.428598e+01 1.091466e+02 0.2929 4.429000 1.125230e+01 3.085930e+01 1.856652e+03
W_FSTR50 241336.0 4.397523e+01 1.074814e+02 0.2929 4.420000 1.125530e+01 3.066753e+01 1.856652e+03
W_FSTR51 241336.0 4.386117e+01 1.048492e+02 0.2929 4.406300 1.145840e+01 3.071540e+01 1.754678e+03
W_FSTR52 241336.0 4.383298e+01 1.058674e+02 0.2929 4.410100 1.132070e+01 3.067277e+01 1.856652e+03
W_FSTR53 241336.0 4.388597e+01 1.048704e+02 0.2929 4.397100 1.127140e+01 3.112230e+01 1.818074e+03
W_FSTR54 241336.0 4.394987e+01 1.073230e+02 0.2929 4.404600 1.138670e+01 3.079960e+01 1.856652e+03
W_FSTR55 241336.0 4.399788e+01 1.068474e+02 0.2929 4.389800 1.139390e+01 3.069240e+01 1.760534e+03
W_FSTR56 241336.0 4.369446e+01 1.044899e+02 0.2929 4.398000 1.139540e+01 3.074180e+01 1.700195e+03
W_FSTR57 241336.0 4.397600e+01 1.048194e+02 0.2929 4.408600 1.135990e+01 3.076470e+01 1.645056e+03
W_FSTR58 241336.0 4.400422e+01 1.061699e+02 0.2929 4.380600 1.135730e+01 3.121670e+01 1.743530e+03
W_FSTR59 241336.0 4.428486e+01 1.101974e+02 0.2929 4.408900 1.137350e+01 3.103010e+01 1.856652e+03
W_FSTR60 241336.0 4.359110e+01 1.050121e+02 0.2929 4.385700 1.143040e+01 3.070250e+01 1.856652e+03
W_FSTR61 241336.0 4.407072e+01 1.074142e+02 0.2929 4.396900 1.138555e+01 3.081290e+01 1.754678e+03
W_FSTR62 241336.0 4.355214e+01 1.032788e+02 0.2929 4.403000 1.134930e+01 3.094400e+01 1.743530e+03
W_FSTR63 241336.0 4.413942e+01 1.066021e+02 0.2929 4.418700 1.140710e+01 3.060030e+01 1.856652e+03
W_FSTR64 241336.0 4.411147e+01 1.075389e+02 0.2929 4.385700 1.126930e+01 3.076150e+01 1.856652e+03
W_FSTR65 241336.0 4.349350e+01 1.032250e+02 0.2929 4.408100 1.143430e+01 3.092190e+01 1.760534e+03
W_FSTR66 241336.0 4.387837e+01 1.066257e+02 0.2929 4.385400 1.131710e+01 3.073260e+01 1.759890e+03
W_FSTR67 241336.0 4.479423e+01 1.138327e+02 0.2929 4.402100 1.129020e+01 3.113985e+01 1.856652e+03
W_FSTR68 241336.0 4.414454e+01 1.071051e+02 0.2929 4.414300 1.136730e+01 3.087020e+01 1.856652e+03
W_FSTR69 241336.0 4.394579e+01 1.071577e+02 0.2929 4.414300 1.126010e+01 3.060030e+01 1.856652e+03
W_FSTR70 241336.0 4.420902e+01 1.092013e+02 0.2929 4.398800 1.138430e+01 3.067550e+01 1.856652e+03
W_FSTR71 241336.0 4.384992e+01 1.058759e+02 0.2929 4.370700 1.133720e+01 3.094400e+01 1.818074e+03
W_FSTR72 241336.0 4.403963e+01 1.065840e+02 0.2929 4.410800 1.138090e+01 3.086910e+01 1.856652e+03
W_FSTR73 241336.0 4.436750e+01 1.079956e+02 0.2929 4.406600 1.142870e+01 3.093170e+01 1.700195e+03
W_FSTR74 241336.0 4.420389e+01 1.092372e+02 0.2929 4.406600 1.138230e+01 3.095320e+01 1.856652e+03
W_FSTR75 241336.0 4.406456e+01 1.065623e+02 0.2929 4.399300 1.143670e+01 3.068035e+01 1.818074e+03
W_FSTR76 241336.0 4.413847e+01 1.056674e+02 0.2929 4.387200 1.134660e+01 3.096750e+01 1.818074e+03
W_FSTR77 241336.0 4.381294e+01 1.036889e+02 0.2929 4.408100 1.136150e+01 3.070250e+01 1.818074e+03
W_FSTR78 241336.0 4.400304e+01 1.057809e+02 0.2929 4.383500 1.144990e+01 3.100060e+01 1.679828e+03
W_FSTR79 241336.0 4.359339e+01 1.028877e+02 0.2929 4.423800 1.136150e+01 3.084570e+01 1.856652e+03
W_FSTR80 241336.0 4.410795e+01 1.078573e+02 0.2929 4.398800 1.132150e+01 3.068780e+01 1.856652e+03
WVARSTRR 241336.0 4.018611e+01 2.294978e+01 1.0000 20.000000 4.000000e+01 6.000000e+01 8.000000e+01
VAR_UNIT 241336.0 1.527049e+00 5.350825e-01 1.0000 1.000000 2.000000e+00 2.000000e+00 3.000000e+00
SENWGT_STU 241336.0 1.202545e-01 9.932360e-02 0.0005 0.027200 1.073000e-01 1.899000e-01 1.181200e+00
In [20]:
# Get the statistics of categorical columns

pisa2012.select_dtypes('object').describe().T
Out[20]:
count unique top freq
CNT 241336 30 Spain 25313
STRATUM 241336 606 IDN0001 5622
OECD 241336 2 OECD 165724
NC 241336 31 Spain 25313
ST04Q01 241336 2 Female 122267
ST05Q01 235233 3 Yes, for more than one year 151703
ST07Q01 225586 3 No, never 205091
ST07Q02 222401 3 No, never 201820
ST07Q03 148349 3 No, never 144299
ST08Q01 237164 4 None 151988
ST09Q01 237197 4 None 194241
ST11Q01 225530 2 Yes 213063
ST11Q02 215973 2 Yes 181588
ST11Q03 195968 2 Yes 121485
ST11Q04 191403 2 Yes 110047
ST11Q05 167470 2 No 140518
ST11Q06 164234 2 No 146939
ST13Q01 225867 5 <ISCED level 3A> 125699
ST14Q01 189394 2 No 175178
ST14Q02 199060 2 No 143882
ST14Q03 191957 2 No 146021
ST14Q04 170099 2 No 129510
ST15Q01 231335 4 Working full-time <for pay> 113316
ST17Q01 218065 5 <ISCED level 3A> 110828
ST18Q01 179698 2 No 163595
ST18Q02 188612 2 No 136310
ST18Q03 182463 2 No 139035
ST18Q04 162921 2 No 121252
ST19Q01 223304 4 Working full-time <for pay> 171791
ST20Q01 235716 2 Country of test 216137
ST20Q02 233675 2 Country of test 192273
ST20Q03 232051 2 Country of test 191617
ST25Q01 231102 2 Language of the test 204548
ST26Q01 233912 2 Yes 206258
ST26Q02 230265 2 Yes 194102
ST26Q03 233377 2 Yes 204608
ST26Q04 234679 2 Yes 211032
ST26Q05 229056 2 Yes 119890
ST26Q06 234426 2 Yes 209842
ST26Q07 229974 2 No 120013
ST26Q08 230780 2 No 122999
ST26Q09 231218 2 Yes 138726
ST26Q10 233198 2 Yes 192950
ST26Q11 228604 2 Yes 125767
ST26Q12 234611 2 Yes 223770
ST26Q13 232748 2 Yes 160232
ST26Q14 234820 2 Yes 221075
ST27Q01 236163 4 Three or more 201448
ST27Q02 235834 4 Three or more 113934
ST27Q03 234522 4 Three or more 90029
ST27Q04 233812 4 One 77043
ST27Q05 229783 4 One 102052
ST28Q01 234559 6 26-100 books 67307
ST29Q01 156122 4 Disagree 63732
ST29Q02 155964 4 Agree 73635
ST29Q03 155663 4 Disagree 60543
ST29Q04 155547 4 Disagree 58395
ST29Q05 155844 4 Agree 75333
ST29Q06 155548 4 Agree 66396
ST29Q07 155649 4 Agree 62223
ST29Q08 155739 4 Agree 74467
ST35Q01 156091 4 Agree 83020
ST35Q02 155826 4 Agree 69096
ST35Q03 155597 4 Disagree 83512
ST35Q04 155810 4 Agree 74339
ST35Q05 155538 4 Agree 69986
ST35Q06 154644 4 Agree 73486
ST37Q01 155544 4 Confident 67193
ST37Q02 155537 4 Very confident 61694
ST37Q03 155150 4 Confident 56652
ST37Q04 154957 4 Confident 66056
ST37Q05 155160 4 Very confident 86617
ST37Q06 155030 4 Not very confident 54173
ST37Q07 155234 4 Very confident 61618
ST37Q08 155203 4 Confident 55991
ST42Q01 154926 4 Agree 63874
ST42Q02 154712 4 Disagree 59916
ST42Q03 153995 4 Disagree 67616
ST42Q04 153879 4 Agree 68613
ST42Q05 154332 4 Disagree 70750
ST42Q06 154086 4 Agree 59002
ST42Q07 154254 4 Disagree 53192
ST42Q08 154230 4 Disagree 72124
ST42Q09 154052 4 Disagree 62609
ST42Q10 154334 4 Agree 56077
ST43Q01 155644 4 Strongly agree 78425
ST43Q02 155207 4 Agree 67117
ST43Q03 154822 4 Disagree 68084
ST43Q04 154813 4 Disagree 63773
ST43Q05 154640 4 Agree 70942
ST43Q06 154748 4 Disagree 61882
ST44Q01 155082 4 Likely 67507
ST44Q03 154847 4 Slightly likely 53678
ST44Q04 154446 4 Likely 60942
ST44Q05 154582 4 Likely 68682
ST44Q07 154556 4 Likely 51934
ST44Q08 154740 4 Likely 50986
ST46Q01 155077 4 Agree 73469
ST46Q02 154914 4 Agree 70603
ST46Q03 154662 4 Agree 73749
ST46Q04 154561 4 Agree 61702
ST46Q05 154579 4 Agree 69197
ST46Q06 154542 4 Agree 85518
ST46Q07 154493 4 Agree 88096
ST46Q08 154575 4 Agree 68793
ST46Q09 154497 4 Agree 71912
ST48Q01 144401 2 Courses after school Math 82674
ST48Q02 141122 2 Major in college Science 81305
ST48Q03 146674 2 Study harder Math 87489
ST48Q04 139263 2 Maximum classes Science 71353
ST48Q05 139778 2 Pursuing a career Science 78695
ST49Q01 154937 4 Sometimes 61179
ST49Q02 154656 4 Sometimes 68553
ST49Q03 154163 4 Never or rarely 82484
ST49Q04 154303 4 Never or rarely 116598
ST49Q05 154421 4 Never or rarely 96134
ST49Q06 154414 4 Never or rarely 96130
ST49Q07 154353 4 Never or rarely 95604
ST49Q09 154500 4 Never or rarely 138877
ST53Q01 153150 3 Most important 73320
ST53Q02 153147 3 Improve understanding 84786
ST53Q03 152891 3 learning goals 90946
ST53Q04 152696 3 Repeat examples 82706
ST55Q01 150976 5 I do not attend <out-of-school time lessons> i... 108100
ST55Q02 151359 5 I do not attend <out-of-school time lessons> i... 90203
ST55Q03 150170 5 I do not attend <out-of-school time lessons> i... 105515
ST55Q04 148897 5 I do not attend <out-of-school time lessons> i... 91486
ST61Q01 154527 4 Sometimes 62239
ST61Q02 154264 4 Sometimes 59571
ST61Q03 153938 4 Sometimes 57903
ST61Q04 153286 4 Sometimes 51546
ST61Q05 153917 4 Frequently 91869
ST61Q06 153858 4 Sometimes 53289
ST61Q07 154032 4 Frequently 89974
ST61Q08 153921 4 Rarely 52239
ST61Q09 154064 4 Frequently 92191
ST62Q01 152869 5 Never heard of it 62122
ST62Q02 153265 5 Know it well, understand the concept 69047
ST62Q03 152790 5 Know it well, understand the concept 46590
ST62Q04 152682 5 Never heard of it 39125
ST62Q06 152967 5 Know it well, understand the concept 60838
ST62Q07 152828 5 Never heard of it 50065
ST62Q08 152852 5 Never heard of it 42464
ST62Q09 153354 5 Know it well, understand the concept 58763
ST62Q10 152751 5 Know it well, understand the concept 63775
ST62Q11 152311 5 Never heard of it 87771
ST62Q12 152681 5 Know it well, understand the concept 68096
ST62Q13 152605 5 Never heard of it 84125
ST62Q15 152663 5 Never heard of it 42876
ST62Q16 152733 5 Know it well, understand the concept 56405
ST62Q17 152880 5 Never heard of it 47358
ST62Q19 153307 5 Know it well, understand the concept 68761
ST73Q01 153018 4 Frequently 69175
ST73Q02 152753 4 Sometimes 72323
ST74Q01 153139 4 Frequently 102624
ST74Q02 152889 4 Frequently 85307
ST75Q01 152858 4 Sometimes 63875
ST75Q02 152580 4 Sometimes 62846
ST76Q01 152747 4 Sometimes 69180
ST76Q02 152517 4 Sometimes 62218
ST77Q01 155728 4 Every Lesson 57274
ST77Q02 155612 4 Every Lesson 69376
ST77Q04 155358 4 Every Lesson 77755
ST77Q05 155594 4 Every Lesson 69739
ST77Q06 155543 4 Every Lesson 64589
ST79Q01 155522 4 Most Lessons 58323
ST79Q02 155274 4 Most Lessons 51786
ST79Q03 155084 4 Never or Hardly Ever 73063
ST79Q04 155130 4 Never or Hardly Ever 78411
ST79Q05 154969 4 Some Lessons 57710
ST79Q06 155137 4 Every Lesson 65293
ST79Q07 155194 4 Never or Hardly Ever 63177
ST79Q08 155227 4 Some Lessons 49719
ST79Q10 155052 4 Never or Hardly Ever 86110
ST79Q11 154929 4 Some Lessons 54578
ST79Q12 154847 4 Most Lessons 54440
ST79Q15 154969 4 Every Lesson 70334
ST79Q17 155032 4 Some Lessons 44128
ST80Q01 155151 4 Often 59460
ST80Q04 154829 4 Often 59616
ST80Q05 154352 4 Sometimes 55704
ST80Q06 154294 4 Sometimes 55371
ST80Q07 154295 4 Often 58662
ST80Q08 154351 4 Often 52561
ST80Q09 153992 4 Always or almost always 55044
ST80Q10 154172 4 Often 58357
ST80Q11 154394 4 Often 60062
ST81Q01 155031 4 Some Lessons 72786
ST81Q02 154836 4 Some Lessons 64566
ST81Q03 154454 4 Some Lessons 58639
ST81Q04 154555 4 Some Lessons 62967
ST81Q05 154756 4 Some Lessons 56679
ST82Q01 153775 4 Agree 75093
ST82Q02 153602 4 Agree 75404
ST82Q03 153473 4 Strongly disagree 66408
ST83Q01 154739 4 Agree 79318
ST83Q02 154565 4 Agree 72066
ST83Q03 154462 4 Agree 74653
ST83Q04 154401 4 Agree 72416
ST84Q01 153385 4 Disagree 75260
ST84Q02 153617 4 Strongly agree 89997
ST84Q03 153290 4 Strongly disagree 72431
ST85Q01 154122 4 Agree 77804
ST85Q02 153945 4 Agree 77387
ST85Q03 153819 4 Agree 70490
ST85Q04 153749 4 Disagree 62996
ST86Q01 154508 4 Agree 90886
ST86Q02 154220 4 Agree 88847
ST86Q03 154023 4 Agree 83607
ST86Q04 154046 4 Agree 86709
ST86Q05 153751 4 Agree 86355
ST87Q01 153627 4 Strongly disagree 67336
ST87Q02 153949 4 Agree 85829
ST87Q03 153261 4 Agree 80200
ST87Q04 153350 4 Strongly disagree 66871
ST87Q05 153103 4 Agree 100017
ST87Q06 153320 4 Strongly disagree 77498
ST87Q07 152922 4 Agree 85106
ST87Q08 153139 4 Agree 73959
ST87Q09 153342 4 Agree 82724
ST88Q01 153408 4 Disagree 76859
ST88Q02 153269 4 Disagree 75825
ST88Q03 153322 4 Agree 87061
ST88Q04 153482 4 Agree 75335
ST89Q02 153513 4 Strongly agree 77824
ST89Q03 153379 4 Strongly agree 86640
ST89Q04 153421 4 Strongly agree 91720
ST89Q05 153360 4 Strongly agree 79165
ST91Q01 153422 4 Strongly agree 90564
ST91Q02 152879 4 Strongly agree 65022
ST91Q03 152569 4 Disagree 65841
ST91Q04 152319 4 Disagree 68325
ST91Q05 152452 4 Agree 69909
ST91Q06 152435 4 Disagree 68260
ST93Q01 154544 5 Not much like me 56119
ST93Q03 154234 5 Somewhat like me 48162
ST93Q04 153815 5 Mostly like me 52909
ST93Q06 154244 5 Somewhat like me 45026
ST93Q07 154183 5 Somewhat like me 48562
ST94Q05 154278 5 Mostly like me 54070
ST94Q06 154194 5 Mostly like me 56894
ST94Q09 153793 5 Mostly like me 55020
ST94Q10 153940 5 Mostly like me 54779
ST94Q14 153994 5 Somewhat like me 42589
ST96Q01 153719 4 probably do this 48431
ST96Q02 153744 4 definitely do this 70332
ST96Q03 153534 4 probably not do this 43257
ST96Q05 153682 4 probably do this 68124
IC01Q01 133502 3 Yes, and I use it 94463
IC01Q02 133696 3 Yes, and I use it 99878
IC01Q03 133016 3 No 88688
IC01Q04 133830 3 Yes, and I use it 125998
IC01Q05 133615 3 Yes, and I use it 76300
IC01Q06 132447 3 Yes, and I use it 70662
IC01Q07 133290 3 Yes, and I use it 96500
IC01Q08 133752 3 Yes, and I use it 102385
IC01Q09 133649 3 Yes, and I use it 100440
IC01Q10 133819 3 Yes, and I use it 116291
IC01Q11 132587 3 No 104046
IC02Q01 133380 3 Yes, and I use it 89979
IC02Q02 132866 3 No 75083
IC02Q03 132444 3 No 116688
IC02Q04 133458 3 Yes, and I use it 99633
IC02Q05 133171 3 Yes, and I use it 77301
IC02Q06 132951 3 No 64977
IC02Q07 132067 3 No 116584
IC03Q01 133541 5 7-9 years old 58422
IC04Q01 133272 5 7-9 years old 57484
IC08Q01 132359 5 Never or hardly ever 56126
IC08Q02 132202 5 Never or hardly ever 68905
IC08Q03 131971 5 Once or twice a week 36491
IC08Q04 131953 5 Every day 41565
IC08Q05 132252 5 Every day 73731
IC08Q06 132241 5 Every day 59342
IC08Q07 132134 5 Once or twice a week 30837
IC08Q08 131938 5 Once or twice a week 42209
IC08Q09 132078 5 Every day 33275
IC08Q11 131951 5 Never or hardly ever 69125
IC09Q01 131604 5 Once or twice a week 49588
IC09Q02 131447 5 Never or hardly ever 48776
IC09Q03 131236 5 Never or hardly ever 70237
IC09Q04 131247 5 Never or hardly ever 62102
IC09Q05 131142 5 Never or hardly ever 71333
IC09Q06 131199 5 Never or hardly ever 35990
IC09Q07 131200 5 Never or hardly ever 56103
IC10Q01 131034 5 Never or hardly ever 92135
IC10Q02 130667 5 Never or hardly ever 75741
IC10Q03 130205 5 Once or twice a week 36774
IC10Q04 130655 5 Never or hardly ever 83376
IC10Q05 130724 5 Never or hardly ever 100042
IC10Q06 130277 5 Never or hardly ever 100431
IC10Q07 130502 5 Never or hardly ever 76631
IC10Q08 130506 5 Never or hardly ever 75704
IC10Q09 130491 5 Never or hardly ever 61632
IC11Q01 130073 3 No 92105
IC11Q02 129919 3 No 99799
IC11Q03 129723 3 No 96107
IC11Q04 129775 3 No 92288
IC11Q05 129759 3 No 99012
IC11Q06 129848 3 No 100894
IC11Q07 129759 3 No 98728
IC22Q01 130333 4 Strongly agree 63599
IC22Q02 130148 4 Agree 56968
IC22Q04 130036 4 Strongly agree 72754
IC22Q06 129764 4 Disagree 61540
IC22Q07 129579 4 Disagree 64473
IC22Q08 129538 4 Disagree 69217
EC01Q01 77445 3 No, never 69873
EC02Q01 77449 3 No, never 71315
EC03Q01 76886 2 No, never 52771
EC03Q02 81699 2 No, never 52882
EC03Q03 81665 2 No, never 55305
EC03Q04 81701 2 Yes 41936
EC03Q05 81547 2 No, never 68809
EC03Q06 81474 2 Yes 50715
EC03Q07 81678 2 Yes 60150
EC03Q08 81515 2 No, never 55781
EC03Q09 81578 2 Yes 44933
EC03Q10 63870 2 Yes 39263
EC05Q01 65319 2 <test language> or <other official national la... 59870
EC06Q01 20748 5 0 to 3 years 14753
EC07Q01 20523 4 Mostly <heritage language> 9435
EC07Q02 20174 4 Mostly <heritage language> 8643
EC07Q03 20142 4 Mostly <test language> 10050
EC07Q04 20309 4 Mostly <test language> 12529
EC07Q05 20396 4 Mostly <test language> 13853
EC08Q01 20359 4 Mostly <test language> 12609
EC08Q02 20300 4 Mostly <test language> 10661
EC08Q03 20339 4 Mostly <test language> 12565
EC08Q04 20287 4 Mostly <test language> 12350
EC09Q03 57705 2 No, never 52129
EC10Q01 19871 5 None 13015
EC11Q02 57700 2 No, never 50841
EC11Q03 57706 2 No, never 52470
EC12Q01 19555 5 None 12894
ST22Q01 17615 2 Yes 12630
ST23Q01 5543 4 Strongly agree 2843
ST23Q02 5449 4 Strongly agree 2410
ST23Q03 5444 4 Agree 2316
ST23Q04 5409 4 Strongly agree 2342
ST23Q05 5413 4 Strongly agree 2336
ST23Q06 5374 4 Agree 1905
ST23Q07 5387 4 Agree 2107
ST23Q08 5377 4 Agree 2123
ST24Q01 5301 4 Agree 1845
ST24Q02 5269 4 Agree 1929
ST24Q03 5230 4 Agree 1728
CLCUSE1 205556 5 A Scientific calculator 90856
QUESTID 241336 4 StQ Form B 80303
BOOKID 241336 21 booklet 8 19023
EASY 241336 2 Standard set of booklets 178911
PROGN 241336 160 Spain: Compulsory Secondary Education 25152
COBN_F 238767 142 Brazil 18018
COBN_M 238782 140 Brazil 18328
COBN_S 238778 140 Canada 18936
FISCED 222904 7 ISCED 5A, 6 58927
HISCED 233618 7 ISCED 5A, 6 84617
IMMIG 233468 3 Native 203005
ISCEDD 241284 4 A 196231
ISCEDL 241284 2 ISCED level 3 131635
ISCEDO 241284 4 General 195338
LANGN 238764 105 Spanish 46532
MISCED 230397 7 ISCED 3A, ISCED 4 64639
OCOD1 240168 585 Housewife 27386
OCOD2 239542 588 Missing 21073
REPEAT 236077 2 Did not repeat a <grade> 196933
TESTLANG 240811 28 English 52764
VER_STU 241336 1 22NOV13 241336
In [21]:
pd.reset_option('all', True)
In [22]:
pisa2012.shape
Out[22]:
(241336, 635)
In [23]:
pisa2012['ST01Q01'].describe()
Out[23]:
count    241336.000000
mean          9.709322
std           2.049923
min           7.000000
25%           9.000000
50%          10.000000
75%          10.000000
max          96.000000
Name: ST01Q01, dtype: float64
In [24]:
# correlation between mean international grade and schoolid ???

pisa2012.groupby(by=['SCHOOLID'], as_index=False)['ST01Q01'].mean().corr(method='pearson')
Out[24]:
SCHOOLID ST01Q01
SCHOOLID 1.000000 0.215871
ST01Q01 0.215871 1.000000
In [25]:
# Does performance in MATH depend on GENDER ???

(pisa2012
 .groupby(by=['ST04Q01'], as_index=False)
 ['PV1MATH'].mean()
 .rename(columns={'ST04Q01': 'Gender',
                  'PV1MATH': 'Mean Plausible value 1 in mathematics'})
)
Out[25]:
Gender Mean Plausible value 1 in mathematics
0 Female 465.067089
1 Male 478.657576
In [26]:
# Does performance in MATH depend on OECD ???

(pisa2012
 .groupby(by=['OECD'], as_index=False)
 ['PV1MATH'].mean()
 .rename(columns={'OECD': 'OECD Country',
                  'PV1MATH': 'Mean Plausible value 1 in mathematics'})
)
Out[26]:
OECD Country Mean Plausible value 1 in mathematics
0 Non-OECD 414.137997
1 OECD 498.068079
In [27]:
# Does the Sense of Belonging - Belong at School affect a student's grades ???

(pisa2012
 .groupby(by=['ST87Q03'], as_index=False)
 ['ST01Q01'].mean()
 .rename(columns={'ST87Q03': "Sense of Belonging - Belong at School affect a student's grades",
                  'ST01Q01': 'Mean International grade'})
)
Out[27]:
Sense of Belonging - Belong at School affect a student's grades Mean International grade
0 Agree 9.716297
1 Disagree 9.679530
2 Strongly agree 9.654726
3 Strongly disagree 9.597012
In [28]:
# Does Perceived Control - Problems Prevent from Putting Effort into School affect student grades ???

(pisa2012
 .groupby(by=['ST91Q03'], as_index=False)
 ['ST01Q01'].mean()
 .rename(columns={'ST91Q03': "Perceived Control - Problems Prevent from Putting Effort into School",
                  'ST01Q01': "Mean International grade"})
)
Out[28]:
Perceived Control - Problems Prevent from Putting Effort into School Mean International grade
0 Agree 9.691960
1 Disagree 9.706323
2 Strongly agree 9.606802
3 Strongly disagree 9.680018
In [29]:
# Attitudes :: Attributions to Failure - Teacher Did Not Explain Well affect student grades ???

(pisa2012
 .groupby(by=['ST44Q03'], as_index=False)
 ['ST01Q01'].mean()
 .rename(columns={'ST44Q03': "Attributions to Failure - Teacher Did Not Explain Well",
                  'ST01Q01': "Mean International grade"})
)
Out[29]:
Attributions to Failure - Teacher Did Not Explain Well Mean International grade
0 Likely 9.669801
1 Not at all likely 9.729776
2 Slightly likely 9.695983
3 Very Likely 9.635983
In [30]:
# Attitudes :: Math Teaching - Teacher shows interest affect student grades ???

(pisa2012
 .groupby(by=['ST77Q01'], as_index=False)
 ['ST01Q01'].mean()
 .rename(columns={'ST77Q01': "Math Teaching - Teacher shows interest affect student grades",
                  'ST01Q01': "Mean International grade"})
)
Out[30]:
Math Teaching - Teacher shows interest affect student grades Mean International grade
0 Every Lesson 9.732269
1 Most Lessons 9.686005
2 Never or Hardly Ever 9.609054
3 Some Lessons 9.639266
In [31]:
# Practices :: Teacher-Directed Instruction - Encourages Thinking and Reasoning affect student grades ???

(pisa2012
 .groupby('ST79Q02', as_index=False)
 ['ST01Q01'].mean()
 .rename(columns={'ST79Q02': 'Teacher-Directed Instruction - Encourages Thinking and Reasoning',
                  'ST01Q01': 'Mean International grade'})
)
Out[31]:
Teacher-Directed Instruction - Encourages Thinking and Reasoning Mean International grade
0 Every Lesson 9.662627
1 Most Lessons 9.673792
2 Never or Hardly Ever 9.718442
3 Some Lessons 9.706166
In [32]:
# Practices :: Teacher Support - Helps Students with Learning affect student grades ???

(pisa2012
 .groupby(by=['ST83Q03'], as_index=False)
 ['ST01Q01'].mean()
 .rename(columns={'ST83Q03': 'Teacher Support - Helps Students with Learning',
                  'ST01Q01': 'Mean International Grade'})
)
Out[32]:
Teacher Support - Helps Students with Learning Mean International Grade
0 Agree 9.691600
1 Disagree 9.579873
2 Strongly agree 9.721039
3 Strongly disagree 9.604140
In [33]:
# Inequality :: Immigration status

(pisa2012
 .groupby(by=['IMMIG'], as_index=False)
 ['ST01Q01'].mean()
 .rename(columns={'IMMIG': 'Immigration status',
                  'ST01Q01': 'Mean International Grade'})
)
Out[33]:
Immigration status Mean International Grade
0 First-Generation 9.674910
1 Native 9.717854
2 Second-Generation 9.600996
In [34]:
# Inequality :: Immigration status AND How many books at home

immig_book = \
pd.crosstab(index=pisa2012["ST28Q01"], 
            columns=pisa2012["IMMIG"], 
            colnames=['Immigration status'],
            normalize=True,
            margins=True, margins_name="All").style.format('{:.2%}')
immig_book.index.name='How many books at home'
immig_book
Out[34]:
Immigration status First-Generation Native Second-Generation All
How many books at home
0-10 books 1.52% 15.14% 1.45% 18.11%
101-200 books 0.78% 14.02% 0.87% 15.67%
11-25 books 1.47% 16.18% 1.44% 19.08%
201-500 books 0.52% 10.57% 0.60% 11.69%
26-100 books 1.86% 24.94% 1.96% 28.76%
More than 500 books 0.30% 6.07% 0.31% 6.68%
All 6.44% 86.92% 6.63% 100.00%
In [35]:
%%time
# Compute the average of plausible scores to determine the PISA score of a student in a particular subject

pisa2012["Math"] = (pisa2012['PV1MATH']
                    + pisa2012['PV2MATH']
                    + pisa2012['PV3MATH']
                    + pisa2012['PV4MATH'] 
                    + pisa2012['PV5MATH'])/5

pisa2012["Reading"] = (pisa2012['PV1READ']
                       + pisa2012['PV2READ']
                       + pisa2012['PV3READ']
                       + pisa2012['PV4READ'] 
                       + pisa2012['PV5READ'])/5

pisa2012["Science"] = (pisa2012['PV1SCIE']
                       + pisa2012['PV2SCIE']
                       + pisa2012['PV3SCIE']
                       + pisa2012['PV4SCIE'] 
                       + pisa2012['PV5SCIE'])/5
CPU times: user 12.3 ms, sys: 2.87 ms, total: 15.1 ms
Wall time: 23.7 ms

What is the structure of your dataset?

After some data assesments and reading through the data description at this source, there are 241336 observations in the dataset with 635 features. 30 countries are represented in our dataset. The dataset contains a list of indices which represent a particular feature to study and each list of indices is made of a list of items that create the indices.

Some interesting features are :

  • Highest occupational status of parents
  • Educational level of parents
  • Immigration background
  • Family structure
  • Relative grade
  • Household possessions
  • Attitudes towards mathematics
  • Opportunity to learn
  • School climate
  • Attitudes towards School

What is/are the main feature(s) of interest in your dataset?

  • How does the choice of school play into academic performance?

  • Are there differences in achievement based on gender, location, or student attitudes?

  • Are there differences in achievement based on teacher practices and attitudes?

  • Does there exist inequality in academic achievement?

What features in the dataset do you think will help support your investigation into your feature(s) of interest?

School climate indices and Attitudes towards school could help investigate how choice of school impact academic performance. Education level of parents, family structure, relative grade, household possessions, attitudes towards mathematics and opportunity to learn could help understand the differences in achievement whether based on gender, location, student attitudes or teacher practices and attitudes. Finally Highest occupational status of parents and immigration background could highlight the existence of inequality in academic achievement.

Univariate Exploration

We first create some utilities functions.

In [36]:
def transform_categorical_column_to_be_ordered(df:pd.DataFrame, cat:list, column_to_transf:list)->pd.DataFrame:
    """
    Given a dataframe with specified unordered categorical columns values to transform 
    return a new dataframe with new columns containing ordered categorical column values
    """
    
    ordered_cat = pd.api.types.CategoricalDtype(categories=cat, ordered=True)
    for column in column_to_transf:
        df[column] = df[column].astype(ordered_cat)
In [37]:
def annotate_barplot(value_counts:pd.Series, position=True, ylabel='Percentage', xlabel='Percentage'):
    """
    Annotate the barplot given a pandas series which represents value counts of categories in the column
    """
    
    if position:
        for i,v in enumerate(value_counts):
            plt.text(i, v, str(round(v, 4)), fontdict=dict(color='black', fontsize=12), va='bottom');
        plt.ylabel(ylabel);
    else:
        for i,v in enumerate(value_counts):
            plt.text(v, i, str(round(v, 4)), fontdict=dict(color='black', fontsize=12), ha='left');
        plt.xlabel(xlabel);
In [38]:
def summary_barplot_items(df:pd.DataFrame, col:list, suptitle:str, title:list, 
                          nr=1, nc=1, 
                          figh=5, figw=12, 
                          fig_a_top=.8, fig_a_wspace=.2, fig_a_hspace=.9, 
                          color=["tab:blue"], vert=True):
    """
    Given some parameters such as the dataframe, the list of columns to plot and the details about
    how many axes to use plot and adjust the plotting parameters.
    """
    
    fig, axes = plt.subplots(nrows=nr, ncols=nc, figsize=(figh, figw))
    fig.suptitle(t=suptitle, x = 0.5, y = 0.95, fontsize = 20, fontweight='bold', color = 'tab:blue')
    axes_ = axes.flatten()
    
    if vert:
        for idx, c in enumerate(col):
            _counts = df[c].value_counts(normalize=True).sort_index()
            _counts.plot(kind='barh', color=color,
                         rot=0, title=title[idx], ax=axes_[idx]);
            axes_[idx].set_xlabel("Percentage");
        fig.subplots_adjust(top = fig_a_top, wspace=fig_a_wspace , hspace=fig_a_hspace);
    
    else:
        for idx, c in enumerate(col):
            _counts = df[c].value_counts(normalize=True).sort_index()
            _counts.plot(kind='bar', color=color,
                         rot=0, title=title[idx], ax=axes_[idx]);
            axes_[idx].set_ylabel("Percentage");
        fig.subplots_adjust(top = fig_a_top, wspace=fig_a_wspace , hspace=fig_a_hspace);
    return axes_

Country

We start by exploring the distribution of countries that took part in the study.

In [39]:
cnt_counts = pisa2012['CNT'].value_counts(normalize=True, ascending=True)
cnt_counts.plot(kind='barh', figsize=(12,10), color='tab:blue',
                title='Percentage of observations per country');
annotate_barplot(cnt_counts, position=False)

Italy is the country with the lowest percentage of data in the study and the the highest is Spain.

OECD

We explore here the distribution of countries belonging to OECD in the study.

In [40]:
oecd_counts = pisa2012['OECD'].value_counts(ascending=True)
oecd_counts.plot(kind='pie',
                 startangle=90,
                 autopct='%.2f%%', 
                 figsize=(8,5),
                 counterclock=False,
                 title='Distributions of OECD observations.', 
                 labels=["", ""]);

plt.legend(oecd_counts.index.tolist(),  loc="best");
plt.ylabel("");
plt.axis('square');

Approximately 68.67% percent of countries are members of the OECD and 31.33 are Non-OECD.

Gender

We explore here how the population of the study is distributed per gender.

In [41]:
st04q01_counts = pisa2012['ST04Q01'].value_counts(ascending=True)
st04q01_counts.plot(kind='pie',
                 startangle=90,
                 autopct='%.2f%%', 
                 figsize=(8,5),
                 counterclock=False,
                 title='Distributions of Gender observations.', 
                 labels=["", ""]);

plt.legend(st04q01_counts.index.tolist(),  loc="best");
plt.ylabel("");
plt.axis('square');

The data is equally distributed in terms of Gender with 50.66% of observations that are Male and 49.34% are Female.

Math Score

We explore here the distribution of students performance in the subject Math.

In [42]:
fig, axs = plt.subplots(nrows=1, ncols=2, sharex=False, sharey=False, figsize=(12,5))
fig.suptitle(t='Distribution & Boxplot of Maths Score (red line indicates mean)',
             fontweight='bold', fontsize=20, color="tab:blue")
binsize = 10
pv1math= pisa2012['Math']
bins = np.arange(0, pv1math.max()+binsize, binsize)
axs[0].axvline(pv1math.mean(), color='tab:red');
pv1math.plot(kind='hist', 
             bins=bins,
             ax= axs[0]
            );
axs[0].set_xlabel('Math Score');

pv1math.plot(kind='box',
             vert=False,
             ax= axs[1]
            );
axs[1].set_yticks([], [])
axs[1].set_xlabel("Math Score");

The Maths score is normally distributed with a mean of 472 and standard deviation of 99.

The Maths score present a lot of outliers.

Reading Score

We explore the distribution of students reading score.

In [43]:
fig, axs = plt.subplots(nrows=1, ncols=2, sharex=False, sharey=False, figsize=(12,5))
fig.suptitle(t='Distribution & Boxplot of Reading Score (red line indicates mean)',
             fontweight='bold', fontsize=20, color="tab:blue")

binsize = 10
pv1read= pisa2012['Reading']
bins = np.arange(0, pv1read.max()+binsize, binsize)

pv1read.plot(kind='hist', 
             bins=bins,
             ax=axs[0]
            );
axs[0].set_xlabel('Reading Score');
axs[0].axvline(pv1read.mean(), color='tab:red');

pv1read.plot(kind='box', 
             vert=False,
             ax=axs[1]
            );
axs[1].set_yticks([], [])
axs[1].set_xlabel("Reading Score");

The Reading scorre is normally distributed with a mean of 477 and a standard deviation of 99.

The reading score present a lot of outliers.

Science Score

We explore the distribution of students performance in the subject Science.

In [44]:
fig, axs = plt.subplots(nrows=1, ncols=2, sharex=False, sharey=False, figsize=(12,5))
fig.suptitle(t='Distribution & Boxplot of Science Score (red line indicates mean)',
             fontweight='bold', fontsize=20, color="tab:blue")

binsize = 10
pv1scie= pisa2012['Science']
bins = np.arange(0, pv1scie.max()+binsize, binsize)

pv1scie.plot(kind='hist', 
             bins=bins,
             ax= axs[0]
            );
axs[0].set_xlabel('Science Score');
axs[0].axvline(pv1scie.mean(), color='tab:red');

pv1scie.plot(kind='box', 
             vert=False,
             ax = axs[1]
            );
axs[1].set_xlabel("Science Score");
axs[1].set_yticks([],[]);

The science score is normally distributed with a mean of 482 and a standard deviation of 98.

The science socre present a lot of outliers.

Relative grade

Below, we explore the distribution of the student Grade compared to modal grade in country.

From the definition of the column GRADE the value are in the range [-grade,+grade] and 0 being the grade that are the modal grade of the country.

In [45]:
pisa2012['GRADE'].value_counts(normalize=True)
Out[45]:
 0.0    0.681078
-1.0    0.172750
 1.0    0.092272
-2.0    0.039155
-3.0    0.010998
 2.0    0.003748
Name: GRADE, dtype: float64
In [46]:
pisa2012['GRADE'].astype(str).unique()
Out[46]:
array(['0.0', '-1.0', '-2.0', '1.0', '-3.0', '2.0', 'nan'], dtype=object)
In [47]:
pisa2012['GRADE'] = pisa2012['GRADE'].astype(str)
In [48]:
grade = ['-3.0', '-2.0', '-1.0', '0.0', '1.0', '2.0']
transform_categorical_column_to_be_ordered(pisa2012, grade, ['GRADE'])
In [49]:
grade_counts = pisa2012['GRADE'].value_counts(normalize=True).sort_index()
grade_counts.plot(kind='bar', figsize=(8,5), title='Distribution of GRADE observations',  color="tab:blue", rot=0);
plt.xlabel("GRADE");
annotate_barplot(grade_counts)

From the graph we could see that a lot of students are at the modal grade of the country (value of 0) and very few are far from the grade (value less or great than 0).

Immigration background

We explore here the distribution of immigrants status and Country of Birth International for the students, father and mother.

In [50]:
immig_counts = pisa2012['IMMIG'].value_counts(normalize=True, ascending=False)
immig_counts.plot(kind='bar', color='tab:blue', rot=0, title='Percentage of immigrants status');
annotate_barplot(immig_counts)

From the visualization we could tell that majority of students who took the assessments were Native and approximately 6.7% were from second and first generation

In [51]:
# Visualizing top 10 countries of country of birth national of students and their parents

fig = plt.figure(figsize=(19,8))

fig.add_subplot(131)
cobnf_counts = pisa2012['COBN_F'].value_counts(normalize=True, ascending=False)[:10]
cobnf_counts.plot(kind='barh', color='tab:blue', rot=0, title='Country of Birth National Categories- Father');
annotate_barplot(cobnf_counts, position=False)

fig.add_subplot(132)
cobnm_counts = pisa2012['COBN_M'].value_counts(normalize=True, ascending=False)[:10]
cobnm_counts.plot(kind='barh', color='tab:blue', rot=0, title='Country of Birth National Categories- Mother');
annotate_barplot(cobnm_counts, position=False)

fig.add_subplot(133)
cobns_counts = pisa2012['COBN_S'].value_counts(normalize=True, ascending=False)[:10]
cobns_counts.plot(kind='barh', color='tab:blue', rot=0, title='Country of Birth National Categories- Self');
annotate_barplot(cobns_counts, position=False)
plt.subplots_adjust(top=.88, hspace=.2, wspace=.9);
fig.suptitle(t="Distribution Country of Birth National of students and parents",
             fontsize=20, fontweight="bold", color="tab:blue");
In [52]:
## Full visualization
# cobnf_counts = pisa2012['COBN_F'].value_counts(normalize=True, ascending=False)
# cobnf_counts.plot(kind='barh', color='tab:blue', rot=0, title='Country of Birth National Categories- Father', 
#                     figsize=(39,31));
# annotate_barplot(cobnf_counts, position=False)

## Full visualization
# cobnm_counts = pisa2012['COBN_M'].value_counts(normalize=True, ascending=False)
# cobnm_counts.plot(kind='barh', color='tab:blue', rot=0, title='Country of Birth National Categories- Mother',
#                     figsize=(39,31));
# annotate_barplot(cobnm_counts, position=False)

## Full visualization
# cobns_counts = pisa2012['COBN_S'].value_counts(normalize=True, ascending=False)
# cobns_counts.plot(kind='barh', color='tab:blue', rot=0, title='Country of Birth National Categories- Self',
#                     figsize=(39,31));
# annotate_barplot(cobns_counts, position=False)

From the visualization above we could notice that the top 2 countries were the native students parents and themselves originates from are Canada, Brazil. The least country were the native students orignate from is Bangladesh.

In [53]:
col = ['ST20Q01', 'ST20Q02', 'ST20Q03']
titles = ["Students", "Mother", "Father"]
axes = summary_barplot_items(pisa2012, col, "Country of birth international Percentage", titles, 
                             nr=1, nc=3,figh=19, figw=5)
for i in [1,2]:
    axes[i].set_yticks([],[]);

Exploring further the background of the students we observe from the visualization above that the majority of native students and parents originates from the country of the test and less than approximately 13% comes from other country.

Family structure

We explore here the distribution of family structure in the dataset.

From the definition of the column FAMSTRUC it is a categorical column which indicates the number of parents living with the student.

In [54]:
pisa2012['FAMSTRUC'].value_counts()
Out[54]:
2.0    175417
1.0     30470
3.0      4915
Name: FAMSTRUC, dtype: int64
In [55]:
# convert to the colum to string
pisa2012['FAMSTRUC'] = pisa2012['FAMSTRUC'].astype(str)
In [56]:
famstruc_cat = ['1.0', '2.0', '3.0']
transform_categorical_column_to_be_ordered(pisa2012, famstruc_cat, ['FAMSTRUC'])
In [57]:
famstruc_counts = pisa2012['FAMSTRUC'].value_counts(normalize=True).sort_index()
famstruc_counts.plot(kind='bar', color="tab:blue", rot=0, title="Distribution of family structure observations");
annotate_barplot(famstruc_counts)

The above visualization tells us that the majority of students are with 2 family members and the minority with 3.

In [58]:
col = ['ST11Q01', 'ST11Q02', 'ST11Q03', 'ST11Q04', 'ST11Q05', 'ST11Q06']
titles = ["Mother", "Father", "Brothers", "Sisters", "Grandparents", "Others"]
axes = summary_barplot_items(pisa2012, col, "Distribution of relatives at home", titles, 
                             vert=False, color=["tab:orange", "tab:blue"],
                             nr=2, nc=3,figh=12, figw=10, fig_a_hspace=.5)
for i in [1,2,4,5]:
    axes[i].set_ylabel("");

We clearly see here that Mother and Father are the parents that are majorly at home while Grandparents and Others are not so often in the lives of the students.

Highest occupational status of parents

We explore here the distribution of the highest occupational status of parents.

Before exploring we adjust the categories of schooling and job so it contains ordered categories.

Note that we suppose nan here are observations that were not specified during the study.

In [59]:
axes = pisa2012[['BFMJ2', 'BMMJ1', 'HISEI']].plot(kind='hist', sharex=True, sharey=False, 
                                                  bins=50, 
                                                  subplots=True, 
                                                  color="tab:blue",
                                                  figsize=(12,8), 
                                                  legend=True)

axes[0].legend(["Father"])
axes[1].legend(["Mother"])
axes[2].legend(["Parents"]);
plt.suptitle(t="Summary of Occupational status", fontsize = 20, fontweight='bold', color = 'tab:blue');

We could see that the highest occupation of the Father, Mother and Parents varies a lot. And the highest occupations score (approximately 90) counts less than 2500 observations with the category of mother accounting with the least observation. On the other side the score 30 has recorded the highest population across all categories.

Educational level of parents

According to the definitions of the education level of parents columns FISCED, MISCED, HISCED the data could be cateogrised as follow :

  • (0) None,
  • (1) ISCED 1 (primary education),
  • (2) ISCED 2 (lower secondary),
  • (3) ISCED Level 3B or 3C (vocational/pre-vocational upper secondary),
  • (4) ISCED 3A (general upper secondary) and/or ISCED 4 (non-tertiary post-secondary),
  • (5) ISCED 5B (vocational tertiary)
  • (6) ISCED 5A, 6 (theoretically oriented tertiary and post-graduate).
In [60]:
pisa2012['FISCED'].unique()
Out[60]:
array(['ISCED 3A, ISCED 4', 'ISCED 5A, 6', 'ISCED 2', 'None', 'ISCED 5B',
       'ISCED 3B, C', 'ISCED 1', nan], dtype=object)
In [61]:
educ_level_cat = ['None','ISCED 1', 'ISCED 2', 'ISCED 3B, C',  'ISCED 3A, ISCED 4',  'ISCED 5B', 'ISCED 5A, 6']
transform_categorical_column_to_be_ordered(pisa2012, educ_level_cat, ['FISCED', 'MISCED', 'HISCED'])
In [62]:
col = ['FISCED', 'MISCED', 'HISCED']
titles = ["Father", "Mother", "Parents"]
axes = summary_barplot_items(pisa2012, col, "Educational level (ISCED)", titles, 
                             nr=1, nc=3,figh=12, figw=5, color=["tab:red", "tab:blue", "tab:blue", 
                                                                "tab:blue", "tab:blue", "tab:blue", "tab:blue"])
for i in [1,2]:
    axes[i].set_yticks([],[]);

From the visualization less than 5% of parent have none edcuation level and majority have a theoretically oriented tertiary and post-graduate education level.

In [63]:
schooling_order_mother = ['She did not complete <ISCED level 1> ',
                          '<ISCED level 1> ','<ISCED level 2> ','<ISCED level 3A> ','<ISCED level 3B, 3C> ']
transform_categorical_column_to_be_ordered(pisa2012, schooling_order_mother, ['ST13Q01'])
In [64]:
schooling_order_father = ['He did not complete <ISCED level 1> ',
                          '<ISCED level 1> ','<ISCED level 2> ','<ISCED level 3A> ','<ISCED level 3B, 3C> ']
transform_categorical_column_to_be_ordered(pisa2012, schooling_order_father, ['ST17Q01'])
In [65]:
pisa2012['ST15Q01'].unique().tolist()
Out[65]:
['Other (e.g. home duties, retired) ',
 'Working full-time <for pay> ',
 'Working part-time <for pay>',
 'Not working, but looking for a job ',
 nan]
In [66]:
col = ['ST13Q01', 'ST17Q01', 'ST15Q01', 'ST19Q01']
titles = ["Mother Highest Schooling", "Father Highest Schooling", "Mother Current Job Status", "Father Current Job Status"]
axes = summary_barplot_items(pisa2012, col, "Distribution of parents education and job", titles, 
                             nr=2, nc=2,figh=12, figw=5, color=["tab:blue", "tab:blue", "tab:blue", "tab:green", "tab:blue"])
for i in [1,3]:
    axes[i].set_yticks([],[]);

From the above visualization, most of the students (more than 50%) have parents with general upper secondary highest schooling and a working full-time job status.

Family wealth

Using the definition of variables provided in the source, we explore family wealth in terms of

  • 1) family wealth possessions (WEALTH),
  • 2) cultural possessions (CULTPOS),
  • 3) home educational resources (HEDRES),
  • 4) home possessions (HOMEPOS)

where the summary of the following items account for the home possessions.

  • ST26Q01 Possessions - desk
  • ST26Q02 Possessions - own room
  • ST26Q03 Possessions - study place
  • ST26Q04 Possessions - computer
  • ST26Q05 Possessions - software
  • ST26Q06 Possessions - Internet
  • ST26Q07 Possessions - literature
  • ST26Q08 Possessions - poetry
  • ST26Q09 Possessions - art
  • ST26Q10 Possessions - textbooks
  • ST26Q11 Possessions - technical reference books
  • ST26Q12 Possessions - dictionary
  • ST26Q13 Possessions - dishwasher
  • ST26Q14 Possessions - DVD

  • ST27Q01 How many - cellular phones
  • ST27Q02 How many - televisions
  • ST27Q03 How many - computers
  • ST27Q04 How many - cars
  • ST27Q05 How many - rooms bath or shower
  • ST28Q01 How many books at home
In [67]:
axs = pisa2012[['WEALTH', 'CULTPOS', 'HEDRES', 'HOMEPOS']].plot(kind='hist', sharex=True, sharey=False,
                                                                bins=8,
                                                                subplots=True, 
                                                                figsize=(5,12),
                                                                color="tab:blue",
                                                                legend=False);
axs[0].legend(["Family wealth possessions"])
axs[1].legend(["Cultural possessions"])
axs[2].legend(["Home educational resources"])
axs[3].legend(["Home possessions"]);
plt.suptitle(t="Summary of the distribution of family wealth indices", 
             fontsize = 20, fontweight='bold', color = 'tab:blue');

We could observe that the family wealth and home possessions indices seems to be normally distributed while the home educational resources and cultural possessions are left-skewed.

In [68]:
col = ['ST26Q01', 'ST26Q02', 'ST26Q03', 'ST26Q04', 'ST26Q05', 'ST26Q06', 'ST26Q07', 
       'ST26Q08', 'ST26Q09', 'ST26Q10', 'ST26Q11', 'ST26Q12', 'ST26Q13', 'ST26Q14']

titles = ["Desk", "Own room", "Study place", "Computer", "Software", "Internet", "Literature",
          "Poetry", 'Art', "Textbook", "Technical reference books", "Dictionary", "dishwasher", "DVD"]

axes = summary_barplot_items(pisa2012, col, "Summary of possession distribution", titles, 
                             nr=3, nc=5,figh=12, figw=10, color=["tab:orange", "tab:blue"], 
                             vert=False, fig_a_hspace=.6, fig_a_wspace=.9, fig_a_top=.8)
for i in [1,2,3,4,6,7,8,9,11,12,13]:
    axes[i].set_ylabel("");
plt.delaxes(axes[-1]);

From the summary of possession distribution, parents are clearly undecided in posessing more or less Literature, poetry, art, technical reference book, software at home. On the other side, there is a predominance of desk, own room, study place, computer, internet, dictionary, dishwasher, DVD at home.

In [69]:
pisa2012["ST27Q01"].unique()
Out[69]:
array(['Two', 'Three or more', 'One', nan, 'None'], dtype=object)
In [70]:
background = ['None', 'One', 'Two', 'Three or more']
transform_categorical_column_to_be_ordered(pisa2012, background, ['ST27Q01', 'ST27Q02', 'ST27Q03', 'ST27Q04', 'ST27Q05'])
In [71]:
pisa2012['ST28Q01'].unique()
Out[71]:
array(['0-10 books ', '201-500 books ', 'More than 500 books',
       '11-25 books ', '101-200 books ', '26-100 books ', nan], dtype=object)
In [72]:
num_book = ['0-10 books ', '11-25 books ', '26-100 books ', 
            '101-200 books ', '201-500 books ', 'More than 500 books']
transform_categorical_column_to_be_ordered(pisa2012, num_book, ['ST28Q01'])
In [73]:
col = ['ST27Q01', 'ST27Q02', 'ST27Q03', 'ST27Q04', 'ST27Q05', 'ST28Q01']

titles = ["Cellular Phones", "Television", "Computers", "Cars", "Rooms bath or shower", "Books at home"]

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Home background", titles, 
                             nr=2, nc=5,figh=19, figw=10, color=["tab:blue"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,3,4]:
    axes[i].set_yticks([],[]);
    
plt.delaxes(axes[-1]);
plt.delaxes(axes[-2]);
plt.delaxes(axes[-3]);
plt.delaxes(axes[-4]);

In terms of the home background, there are few home where we don't have cellular phones, television, computers and rooms bath or shower. And the perecentage of those equipements is below 10%. On the other side, approximately 30% of family possess 26-100 books.

Attitudes towards mathematics

Per the definitons given in the source the attitude towards mathematics could be interpreted from the following indices:

  • INSTMOT Instrumental Motivation for Mathematics
  • INTMAT Mathematics Interest
  • SUBNORM Subjective Norms in Mathematics
  • MATHEFF Mathematics Self-Efficacy
  • ANXMAT Mathematics Anxiety
  • SCMAT Mathematics Self-Concept
  • FAILMAT Attributions to Failure in Mathematics
  • MATWKETH Mathematics Work Ethic
  • MATINTFC Mathematics Intentions
  • MATBEH Mathematics Behaviour
In [74]:
axs = (pisa2012[['INSTMOT','INTMAT', 'SUBNORM', 'MATHEFF', 'ANXMAT', 'SCMAT', 'FAILMAT', 'MATWKETH', 'MATINTFC', 'MATBEH']]
       .plot(kind='hist',
             bins=10,
             subplots=True, 
             figsize=(5,20), 
             color='tab:blue', 
             sharex=True, sharey=True,
             ))
;

axs[0].legend(["Instrumental Motivation for Mathematics"])
axs[1].legend(["Mathematics Interest"])
axs[2].legend(["Subjective Norms in Mathematics"])
axs[3].legend(["Mathematics Self-Efficacy"])
axs[4].legend(["Mathematics Anxiety"])
axs[5].legend(["Mathematics Self-Concept"])
axs[6].legend(["Attributions to Failure in Mathematics"])
axs[7].legend(["Mathematics Work Ethic"])
axs[8].legend(["Mathematics Intentions"])
axs[9].legend(["Mathematics Behaviour"])

plt.suptitle(t="Summary of Attitudes toward mathematics indices", fontsize = 20, fontweight='bold', color = 'tab:blue');
plt.subplots_adjust(top=.92, hspace=.2);

The attitudes toward mathematics seems to be normally distributed across all indices.

In the following cells we will dig into the list of items that consitute each index.

Mathematics Interest (INTMAT) items

  • ST29Q01
  • ST29Q03
  • ST29Q04
  • ST29Q06
In [75]:
pisa2012['ST29Q01'].unique()
Out[75]:
array(['Agree', 'Disagree', nan, 'Strongly agree', 'Strongly disagree'], dtype=object)
In [76]:
agreement = ['Strongly disagree','Disagree','Agree','Strongly agree']
transform_categorical_column_to_be_ordered(pisa2012, agreement, ['ST29Q01', 'ST29Q03', 'ST29Q04', 'ST29Q06'])
In [77]:
col = ['ST29Q01', 'ST29Q03', 'ST29Q04', 'ST29Q06']

titles = ["Enjoy Reading", "Look Forward to Lessons", "Enjoy Maths", "Interested"]

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Mathematics Interest", titles, 
                             nr=1, nc=4,figh=15, figw=5, color=["tab:blue"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,3]:
    axes[i].set_yticks([],[]);

Visualizing students interst in mathematics, less than 10% strongly agree to enjoy reading and math, and are interested or look forward to lessons. On the opposite, approximately 30% Disagree. The visualization doesn't really show clear information but it tends to communicate that there are more negativity than positivity about students interest for mathematics.

Instrumental motivation for mathematics (INSTMOT) items

  • ST29Q02
  • ST29Q05
  • ST29Q07
  • ST29Q08
In [78]:
pisa2012['ST29Q02'].unique()
Out[78]:
array(['Strongly agree', nan, 'Disagree', 'Agree', 'Strongly disagree'], dtype=object)
In [79]:
transform_categorical_column_to_be_ordered(pisa2012, agreement, ['ST29Q02', 'ST29Q05', 'ST29Q07', 'ST29Q08'])
In [80]:
col = ['ST29Q02', 'ST29Q05', 'ST29Q07', 'ST29Q08']

titles = ["Worthwhile for Work", "Worthwhile for Career Chances", "Important for Future Study", "Helps to Get a Job"]

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for instrumental motivation", titles, 
                             nr=1, nc=4,figh=15, figw=5, color=["tab:red", "tab:blue", "tab:blue", "tab:blue"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,3]:
    axes[i].set_yticks([],[]);

We clearly see here that less than 10% of students strongly disagree that their instrumental motivation are: worthwhile for work, career chances, Important for Future Study, Helps to Get a Job. On the other hand, approximately 40% of students agree about their instrumental motivation for work, career chancees, future study and job opportunity.

Mathematics intentions (MATINTFC) items

  • ST48Q01
  • ST48Q02
  • ST48Q03
  • ST48Q04
  • ST48Q05
In [81]:
col = ['ST48Q01', 'ST48Q02', 'ST48Q03', 'ST48Q04', 'ST48Q05']

titles = ["Mathematics vs. Language Courses After School", "Mathematics vs. Science Related Major in College",
          "Study Harder in Mathematics vs. Language Classes", "Take Maximum Number of Mathematics vs. Science Classes",
          "Pursuing a Career That Involves Mathematics vs. Science"]

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Mathematics intentions", titles, 
                             nr=5, nc=1,figh=5, figw=15, color=["tab:blue"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2, fig_a_top=.9)

From the visualization above it's not very clear what are students mathematics intentions.

Mathematics self-efficacy (MATHEFF) items

  • ST37Q01
  • ST37Q02
  • ST37Q03
  • ST37Q04
  • ST37Q05
  • ST37Q06
  • ST37Q07
  • ST37Q08
In [82]:
pisa2012['ST37Q01'].unique()
Out[82]:
array(['Not at all confident', 'Confident', nan, 'Not very confident',
       'Very confident'], dtype=object)
In [83]:
pisa2012['ST37Q05'].unique()
Out[83]:
array(['Confident', 'Very confident', nan, 'Not very confident',
       'Not at all confident'], dtype=object)
In [84]:
self_efficacy_order = ['Not at all confident', 'Not very confident','Confident',  'Very confident']
transform_categorical_column_to_be_ordered(pisa2012, 
                                           self_efficacy_order,
                                           ['ST37Q01', 'ST37Q02', 'ST37Q03', 'ST37Q04', 
                                            'ST37Q05', 'ST37Q06', 'ST37Q07','ST37Q08'])
In [85]:
col = ['ST37Q01', 'ST37Q02', 'ST37Q03', 'ST37Q04', 'ST37Q05', 'ST37Q06', 'ST37Q07', 'ST37Q08']

titles = ["Using a Train Timetable", "Calculating TV Discount", "Calculating Square Metres of Tiles",
          "Understanding Graphs in Newspapers", 'Solving Equation 1', "Distance to Scale",
          "Solving Equation 2", "Calculate Petrol Consumption Rate"]

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Math Self-Efficacy", titles, 
                             nr=2, nc=4,figh=19, figw=10, color=["tab:red","tab:blue", "tab:blue", "tab:blue"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,3,5,6,7]:
    axes[i].set_yticks([],[]);

For all parameters investigated, less 10% of students are not at all confident about Math self-efficacy. Even though the parameters like Distance to Scale, and Calculate Petrol consumption rate show a high perecent of Not-very confident.

Mathematics anxiety (ANXMAT) items

  • ST42Q01
  • ST42Q03
  • ST42Q05
  • ST42Q08
  • ST42Q10
In [86]:
pisa2012['ST42Q01'].unique()
math_anxiety_order = ['Strongly disagree', 'Disagree', 'Agree', 'Strongly agree']
transform_categorical_column_to_be_ordered(pisa2012, 
                                           math_anxiety_order,
                                           ['ST42Q01', 'ST42Q03', 'ST42Q05', 'ST42Q08', 'ST42Q10'])
In [87]:
col = ['ST42Q01', 'ST42Q03', 'ST42Q05', 'ST42Q08', 'ST42Q10']

titles = ["Worry That It Will Be Difficult", "Get Very Tense", "Get Very Nervous",
          "Feel Helpless", 'Worry About Getting Poor Grades',]

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Mathematics anxiety", titles, 
                             nr=1, nc=5,figh=15, figw=5, color=["tab:blue"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,3,4]:
    axes[i].set_yticks([],[]);

For the parameters Worry that it will be difficuult, worry about getting poor grades students answered Agree with the highest percentage. For the parameters like get very tense, get very nervous, feel helpless students answered Disagree with the nighest percentage. Overall we can't tell anything about students mathematics anxiety.

Mathematics self-concept (SCMAT) items

  • ST42Q02
  • ST42Q04
  • ST42Q06
  • ST42Q07
  • ST42Q09
In [88]:
pisa2012['ST42Q09'].unique()
Out[88]:
array(['Disagree', nan, 'Agree', 'Strongly agree', 'Strongly disagree'], dtype=object)
In [89]:
self_concept_order = ['Strongly disagree', 'Disagree', 'Agree', 'Strongly agree']
transform_categorical_column_to_be_ordered(pisa2012, self_concept_order, 
                                           ['ST42Q02', 'ST42Q04', 'ST42Q06', 'ST42Q07', 'ST42Q09'])
In [90]:
col = ['ST42Q02', 'ST42Q04', 'ST42Q06', 'ST42Q07', 'ST42Q09']

titles = ["Not Good at Maths", "Get Good Grades", "Learn Quickly",
          "One of Best Subjects", 'Understand Difficult Work']

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Mathematics self-concept", titles, 
                             nr=1, nc=5,figh=15, figw=5, color=["tab:blue"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,3,4]:
    axes[i].set_yticks([],[]);

For the mathematics self-concept parameters, students responded Agree with high percentage for parameters such as Get good grades and Learn quickly. And they responded Disagree with high percentage for Not Good at Maths, One Best Subjects and Understand difficult work. Overall, it is not clear what is their position for Mathematics self-concept.

Failure in mathematics (FAILMAT) items

  • ST44Q01
  • ST44Q03
  • ST44Q04
  • ST44Q05
  • ST44Q07
  • ST44Q08
In [91]:
pisa2012['ST44Q08'].unique()
Out[91]:
array(['Very   Likely', 'Likely', 'Slightly likely', nan,
       'Not at all likely'], dtype=object)
In [92]:
failure_order = ['Not at all likely','Slightly likely','Likely','Very   Likely']
transform_categorical_column_to_be_ordered(pisa2012, failure_order,
                                           ['ST44Q01', 'ST44Q03', 'ST44Q04', 'ST44Q05', 'ST44Q07', 'ST44Q08'])
In [93]:
col = ['ST44Q01', 'ST44Q03', 'ST44Q04', 'ST44Q05', 'ST44Q07', 'ST44Q08']

titles = ["Not Good at Maths Problems", "Teacher Did Not Explain Well", "Bad Guesses",
          "Material Too Hard", 'Teacher Didnt Get Students Interested', 'Unlucky']

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Failure in mathematics", titles, 
                             nr=2, nc=3, figh=19, figw=10, color=["tab:blue", "tab:blue", "tab:green", "tab:blue"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,4,5]:
    axes[i].set_yticks([],[]);

Overall, students are likely to fail in mathematics for the following parameters : Not good at maths problems, teacher did not explain well, bad guesses, material too hard, teacher didn't get students interested and unlucky.

Mathematics work ethic (MATWKETH) items

  • ST46Q01
  • ST46Q02
  • ST46Q03
  • ST46Q04
  • ST46Q05
  • ST46Q06
  • ST46Q07
  • ST46Q08
  • ST46Q09
In [94]:
pisa2012['ST46Q09'].unique()
Out[94]:
array(['Agree', 'Strongly agree', nan, 'Disagree', 'Strongly disagree'], dtype=object)
In [95]:
work_ethic_order = ['Strongly disagree', 'Disagree', 'Agree', 'Strongly agree']
transform_categorical_column_to_be_ordered(pisa2012, work_ethic_order,
                                           ['ST46Q01', 'ST46Q02', 'ST46Q03', 'ST46Q04', 'ST46Q05',
                                            'ST46Q06', 'ST46Q07', 'ST46Q08', 'ST46Q09'])
In [96]:
col = ['ST46Q01', 'ST46Q02', 'ST46Q03', 'ST46Q04', 'ST46Q05', 'ST46Q06', 'ST46Q07', 'ST46Q08', 'ST46Q09']

titles = ["Homework Completed in Time", "Work Hard on Homework", "Prepared for Exams",
          "Study Hard for Quizzes", 'Study Until I Understand Everything', "Pay Attention in Classes",
          'Listen in Classes', "Avoid Distractions When Studying", "Keep Work Organized"]

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Mathematics work ethic", titles, 
                             nr=2, nc=5, figh=19, figw=10, color=["tab:red", "tab:blue", "tab:green", "tab:blue"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,3,4,6,7,8,9]:
    axes[i].set_yticks([],[]);
plt.delaxes(axes[9]);

Overall, majority of students who Agree believes that their Mathematics work ethic are due to : Homework completed in time, work hard on homework, prepared for exams, study hard for quizzes, study until i understand everything, pay attention in classes, listen in classes, avoid distractions when studying and keep work organized. Minority of students who Strongly disagree thinks the same about their mathematics work ethic.

Mathematics behaviour (MATBEH) items

  • ST49Q01
  • ST49Q02
  • ST49Q03
  • ST49Q04
  • ST49Q05
  • ST49Q06
  • ST49Q07
  • ST49Q09
In [97]:
pisa2012['ST49Q09'].unique()
Out[97]:
array(['Never or rarely', 'Often', nan, 'Sometimes',
       'Always or almost always'], dtype=object)
In [98]:
behavoir_order = ['Never or rarely', 'Sometimes',  'Often', 'Always or almost always']
transform_categorical_column_to_be_ordered(pisa2012, behavoir_order,
                                          ['ST49Q01', 'ST49Q02', 'ST49Q03', 'ST49Q04',
                                           'ST49Q05', 'ST49Q06', 'ST49Q07', 'ST49Q09'])
In [99]:
col = ['ST49Q01', 'ST49Q02', 'ST49Q03', 'ST49Q04', 'ST49Q05', 'ST49Q06', 'ST49Q07', 'ST49Q09']

titles = ["Talk about Maths with Friends", "Help Friends with Maths", "<Extracurricular> Activity",
          "Participate in Competitions", 'Study More Than 2 Extra Hours a Day', "Play Chess",
          'Computer programming', "Participate in Math Club"]

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Mathematics behavior", titles, 
                             nr=2, nc=4, figh=19, figw=10, color=["tab:blue","tab:blue", "tab:blue", "tab:green"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,3,5,6,7]:
    axes[i].set_yticks([],[]);

Minority of students who answered Always or almost always thinks their mathematics behavior could be explained by: Talk about Maths with friends, help friends with maths, extracuricular activity, participate in competitions, study more than 2 extra hours a day, play chess, computer programming.

Opportunity to learn

According to the definition of variables related to opportunity to learn it could be decomposed as follow :

  • student-perceived experiences and familiarity with mathematical tasks (EXAPPLM, EXPUREM, FAMCON, FAMCONC)
  • student perceived teaching practices (TCHBEHTD, TCHBEHFA, TCHBEHSO)
  • student-perceived teaching quality (TEACHSUP, COGACT, MTSUP, CLSMAN, DISCLIMA).
In [100]:
axs = pisa2012[['EXAPPLM', 'EXPUREM', 'FAMCON', 'FAMCONC']].plot(kind='hist',
                                                                 bins=10,
                                                                 sharex=True, sharey=False,
                                                                 legend=False,
                                                                 subplots=True, 
                                                                 color="tab:blue", 
                                                                 figsize=(5,12))

axs[0].legend(["Applied Mathematics Tasks at School"])
axs[1].legend(["Pure Mathematics Tasks at School"])
axs[2].legend(["Mathematical Concepts"])
axs[3].legend(["Mathematical Concepts (Signal Detection  Adjusted)"]);

plt.suptitle(t="Distribution of Experience & Familiarity with", fontsize = 20, fontweight='bold', color = 'tab:blue');
plt.subplots_adjust(top=.92, hspace=.2);

The distribution of experience and familiarity with parameters are allnormally distributed except the parameter : exprience with pure mathematics tasks at school.

In [101]:
axs= pisa2012[['TCHBEHTD', 'TCHBEHFA', 'TCHBEHSO']].plot(kind='hist', bins=10,
                                                         subplots=True,
                                                         legend=False,
                                                         sharex=True, sharey=False,
                                                         color="tab:blue",
                                                         figsize=(5,12)
                                                        )
axs[0].legend(["Formative Assessment"])
axs[1].legend(["Student Orientation"])
axs[2].legend(["Teacher-directed Instruction"]);
plt.suptitle(t="Distributon of Teacher Behavior", fontsize = 20, fontweight='bold', color = 'tab:blue');
plt.subplots_adjust(top=.92, hspace=.2);

The distribution of teacher behavior are all normally distributed.

In [102]:
axs = pisa2012[['TEACHSUP', 'COGACT', 'MTSUP', 'CLSMAN', 'DISCLIMA']].plot(kind='hist',
                                                                           bins=8,legend=False,
                                                                           subplots=True,
                                                                           sharex=True, sharey=False,
                                                                           color="tab:blue",
                                                                           figsize=(5,12)
                                                                          )
axs[0].legend(["Teacher Support"])
axs[1].legend(["Cognitive Activation in Mathematics Lessons"])
axs[2].legend(["Mathematics Teacher's Support"])
axs[3].legend(["Mathematics Teacher's Classroom Management"])
axs[4].legend(["Disciplinary Climate"])

plt.suptitle(t="Distribution of Teaching quality", fontsize = 20, fontweight='bold', color = 'tab:blue');
plt.subplots_adjust(top=.92, hspace=.2);

The distribution of teaching quality seems to be normally distributed.

Experience with applied mathematics tasks at school (EXAPPLM)

  • ST61Q01
  • ST61Q02
  • ST61Q03
  • ST61Q04
  • ST61Q06
  • ST61Q08
In [103]:
pisa2012['ST61Q09'].unique()
Out[103]:
array([nan, 'Frequently', 'Sometimes', 'Rarely ', 'Never '], dtype=object)
In [104]:
experience_and_familiarity_order = ['Frequently', 'Sometimes', 'Rarely ', 'Never ']
transform_categorical_column_to_be_ordered(pisa2012, experience_and_familiarity_order,
                                          ['ST61Q01', 'ST61Q02', 'ST61Q03', 'ST61Q04', 
                                           'ST61Q05', 'ST61Q06', 'ST61Q07','ST61Q08', 'ST61Q09'])
In [105]:
col = ['ST61Q01', 'ST61Q02', 'ST61Q03', 'ST61Q04', 'ST61Q06', 'ST61Q08']

titles = ["Use <Train Timetable>", "Calculate Price including Tax", "Calculate Square Metres",
          "Understand Scientific Tables", 'Use a Map to Calculate Distance', "Calculate Power Consumption Rate"]

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for applied mathematics tasks at school", titles, 
                             nr=2, nc=3, figh=19, figw=10, color=["tab:blue","tab:orange","tab:blue","tab:blue"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,4,5]:
    axes[i].set_yticks([],[]);

Except the parameter Calculate power consumption rate, majority of students believe they applied mathematics tasks at school sometimes at this occasions : Use train timetable, calculate price including tax, understand scientific tables, use a map to calculate distance and calculate power consumption rate.

Experience with pure mathematics tasks at school (EXPUREM)

  • ST61Q05
  • ST61Q07
  • ST61Q09
In [106]:
col = ['ST61Q05', 'ST61Q07', 'ST61Q09']

titles = ["Solve Equation 1", "Solve Equation 2", "Solve Equation 3"]

axes = summary_barplot_items(pisa2012, col, 
                             "Summary of the parameters for Experience with Applied Maths Tasks", titles, 
                             nr=1, nc=3, figh=12, figw=5, color=["tab:blue"], 
                             vert=True, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2]:
    axes[i].set_yticks([],[]);

More that 50% of students who frequently solve equation 1,2 and 3 have experience with applied maths tasks.

Familiarity with mathematics concepts (FAMCON) and foils used for signal detection adjustment

  • ST62Q01
  • ST62Q02
  • ST62Q03
  • ST62Q06
  • ST62Q07
  • ST62Q08
  • ST62Q09
  • ST62Q10
  • ST62Q12
  • ST62Q15
  • ST62Q16
  • ST62Q17
  • ST62Q19
  • ST62Q04
  • ST62Q11
  • ST62Q13
In [107]:
pisa2012['ST62Q01'].unique()
Out[107]:
array([nan, 'Know it well,  understand the concept', 'Never heard of it',
       'Heard of it often', 'Heard of it a few times',
       'Heard of it once or twice'], dtype=object)
In [108]:
Familiarity_with_math_order = ['Never heard of it', 'Heard of it once or twice', 'Heard of it a few times',
                               'Heard of it often', 'Know it well,  understand the concept']
familiarity_cols = ['ST62Q01', 'ST62Q02', 'ST62Q03', 'ST62Q06', 'ST62Q07', 'ST62Q08', 'ST62Q09', 'ST62Q10', 
                    'ST62Q12', 'ST62Q15', 'ST62Q16', 'ST62Q17', 'ST62Q19', 'ST62Q04', 'ST62Q11', 'ST62Q13']
transform_categorical_column_to_be_ordered(pisa2012, Familiarity_with_math_order, familiarity_cols)
In [109]:
col = familiarity_cols

titles = ["Exponential Function", "Divisor", "Quadratic Function", "Linear Equation", "Vectors", "Complex number",
          "Rational number", 'Radicals', "Polygon", "Congruent Figure", "Cosine", "Arithmetic Mean",
          "Probability", "Proper Number", "Subjunctive Scaling", "Declarative Function"]

axes = summary_barplot_items(pisa2012, col, 
                             "Summary of the parameters for Familiarity with Math concepts", titles, 
                             nr=4, nc=4, figh=19, figw=10, color=["tab:blue"], 
                             vert=True, fig_a_hspace=.9, fig_a_wspace=.2)

for i in [1,2,3,5,6,7,9,10,11,13,14,15]:
    axes[i].set_yticks([],[]);

From the Familiarity with Math concepts., we could see that students answered know it well, understand the concept in high percentage for the subject like : Divisor, quadractic function , linear equation, rational number, radicals, polygon, cosine, probability.

Teacher behaviour - teacher directed instruction (TCHBEHTD)

  • ST79Q01
  • ST79Q02
  • ST79Q06
  • ST79Q08
  • ST79Q15
In [110]:
pisa2012['ST79Q11'].unique()
Out[110]:
array(['Most Lessons', nan, 'Never or Hardly Ever', 'Every Lesson',
       'Some Lessons'], dtype=object)
In [111]:
teacher_behaviour_order = ['Never or Hardly Ever', 'Some Lessons', 'Most Lessons', 'Every Lesson']
teacher_behaviour_cols = ['ST79Q01', 'ST79Q02', 'ST79Q06', 'ST79Q08', 'ST79Q15', 'ST79Q03', 'ST79Q04',
                          'ST79Q07', 'ST79Q10', 'ST79Q05', 'ST79Q11', 'ST79Q12', 'ST79Q17']
transform_categorical_column_to_be_ordered(pisa2012, teacher_behaviour_order, teacher_behaviour_cols)
In [112]:
col = ['ST79Q01', 'ST79Q02', 'ST79Q06', 'ST79Q08', 'ST79Q15']
titles = ["Sets Clear Goals", "Encourages Thinking and Reasoning", "Checks Understanding", "Summarizes Previous Lessons",
          "Informs about Learning Goals"]
axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Teacher Behavior", titles, 
                             nr=1, nc=5,figh=19, figw=5, color=["tab:red", "tab:blue", "tab:blue", "tab:blue"])
for i in [1,2,3,4]:
    axes[i].set_yticks([],[]);

Less than 10% of students said that they never or hardly ever learn in classroom when: Sets clear goals, encourages thinking and reasoning, checks understanding, summarizes previous lessonsa and informs about learning goals.

Teacher behaviour - student orientation (TCHBEHSO)

  • ST79Q03
  • ST79Q04
  • ST79Q07
  • ST79Q10
In [113]:
col = ['ST79Q03', 'ST79Q04', 'ST79Q07', 'ST79Q10']
titles = ["Differentiates Between Students When Giving Tasks",
          "Assigns Complex Projects", "Has Students Work in Small Groups",
          "Plans Classroom Activities"]
axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Student Orientation", titles, 
                             nr=2, nc=2,figh=12, figw=5)
for i in [1,3]:
    axes[i].set_yticks([],[]);

Above 40% of teacher never or hardly ever take part to student-orientation for the following reasons : Differentiates between students when giving tasks, assigns complex projects, has students work in small groups and plans classroom activities.

Teacher behaviour - formative assessment (TCHBEHFA)

  • ST79Q05
  • ST79Q11
  • ST79Q12
  • ST79Q17
In [114]:
col = ['ST79Q05', 'ST79Q11', 'ST79Q12', 'ST79Q17']
titles = ["Gives Feedback",
          "Gives Feedback on Strengths and Weaknesses", "Informs about Expectations",
          "Tells How to Get Better"]
axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Formative Assessment", titles, 
                             nr=2, nc=2,figh=12, figw=5)
for i in [1,3]:
    axes[i].set_yticks([],[]);

There is no clue onto whether any of teacher formative teacher formative assessment helps the students to get better.

Teacher support in mathematics classes (TEACHSUP)

  • ST77Q01
  • ST77Q02
  • ST77Q04
  • ST77Q05
  • ST77Q06
In [115]:
pisa2012['ST77Q06'].unique()
Out[115]:
array(['Every Lesson', nan, 'Some Lessons', 'Most Lessons',
       'Never or Hardly Ever'], dtype=object)
In [116]:
teacher_support_order = ['Never or Hardly Ever', 'Some Lessons', 'Most Lessons', 'Every Lesson']
transform_categorical_column_to_be_ordered(pisa2012, teacher_support_order,
                                           ["ST77Q01", "ST77Q02", "ST77Q04", "ST77Q05", "ST77Q06"])
In [117]:
col = ['ST77Q01', 'ST77Q02', 'ST77Q04', 'ST77Q05', "ST77Q06"]
titles = ["Teacher shows interest", "Extra help", "Teacher helps", "Teacher continues", "Express opinions"]
axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Math Teaching", titles, 
                             nr=1, nc=5,figh=19, figw=5)
for i in [1,2,3,4]:
    axes[i].set_yticks([],[]);

Less than 10% of teacher never or hardly ever supports students while more than 30% supports students math teaching doing : Teacher shows interest, extra help, teacher helps, teacher continues and express opinions.

Cognitive activation in mathematics lessons (COGACT)

  • ST80Q01
  • ST80Q04
  • ST80Q05
  • ST80Q06
  • ST80Q07
  • ST80Q08
  • ST80Q09
  • ST80Q10
  • ST80Q11
In [118]:
pisa2012['ST80Q01'].unique()
Out[118]:
array(['Always or almost always', nan, 'Never or rarely', 'Often',
       'Sometimes'], dtype=object)
In [119]:
cognitive_activation_order = ['Never or rarely', 'Sometimes', 'Often', 'Always or almost always']
transform_categorical_column_to_be_ordered(pisa2012, cognitive_activation_order,
                                           ["ST80Q01", "ST80Q04", "ST80Q05", 
                                            "ST80Q06", "ST80Q07", "ST80Q08",
                                            "ST80Q09", "ST80Q10", "ST80Q11"])
In [120]:
col = ["ST80Q01", "ST80Q04", "ST80Q05", "ST80Q06", "ST80Q07", "ST80Q08", "ST80Q09", "ST80Q10", "ST80Q11"]
titles = ["Teacher Encourages to Reflect Problems", 
          "Gives Problems that Require to Think",
          "Asks to Use Own Procedures", "Presents Problems with No Obvious Solutions",
          "Presents Problems in Different Contexts", "Helps Learn from Mistakes", "Asks for Explanations",
          "Apply What We Learned", "Problems with Multiple Solutions"
         ]
axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Cognitive Activation", titles, 
                             nr=3, nc=3,figh=19, figw=10, fig_a_hspace=.8)
for i in [1,2,4,5,7,8]:
    axes[i].set_yticks([],[]);

It's not clear how cognitive activation helps to understand student academic performance.

Mathematics teacher support (MTSUP)

  • ST83Q01
  • ST83Q02
  • ST83Q03
  • ST83Q04
In [121]:
pisa2012['ST83Q01'].unique()
Out[121]:
array(['Strongly disagree', nan, 'Strongly agree', 'Agree', 'Disagree'], dtype=object)
In [122]:
math_teacher_sup_order = ['Strongly disagree', 'Disagree', 'Agree', 'Strongly agree']
transform_categorical_column_to_be_ordered(pisa2012, math_teacher_sup_order,
                                           ["ST83Q01", "ST83Q02", "ST83Q03", "ST83Q04"])
In [123]:
col = ["ST83Q01", "ST83Q02", "ST83Q03", "ST83Q04"]
titles = ["Lets Us Know We Have to Work Hard", 
          "Provides Extra Help When Needed",
          "Helps Students with Learning", "Gives Opportunity to Express Opinions"
         ]
axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Teacher support", titles, 
                             nr=1, nc=4,figh=19, figw=5)
for i in [1,2,3]:
    axes[i].set_yticks([],[]);

More than 40% of students Agree believes teachers support them by doing : Let us know we have to work hard, provvides extra help when needed, helps students with learning and gives opportunity to express opinions.

Classroom management (CLSMAN)

  • ST85Q01
  • ST85Q02
  • ST85Q03
  • ST85Q04
In [124]:
pisa2012['ST85Q01'].unique()
Out[124]:
array(['Agree', nan, 'Strongly agree', 'Strongly disagree', 'Disagree'], dtype=object)
In [125]:
clsman_order =['Strongly disagree', 'Disagree', 'Agree', 'Strongly agree']
transform_categorical_column_to_be_ordered(pisa2012, clsman_order, ["ST85Q01", "ST85Q02", "ST85Q03", "ST85Q04"])
In [126]:
col = ["ST85Q01", "ST85Q02", "ST85Q03", "ST85Q04"]
titles = ["Students Listen", 
          "Teacher Keeps Class Orderly",
          "Teacher Starts On Time", "Wait Long to <Quiet Down>"
         ]
axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Classroom management", titles, 
                             nr=1, nc=4,figh=19, figw=5)
for i in [1,2,3]:
    axes[i].set_yticks([],[]);

Except the trait, wait long to quiet down, more than 40% of students believes that teacher classroom management could be picutre as follow : students listen, teacher keeps class orderly, teacher statrts on time.

Disciplinary climate (DISCLIMA)

  • ST81Q01
  • ST81Q02
  • ST81Q03
  • ST81Q04
  • ST81Q05
In [127]:
pisa2012['ST81Q01'].unique()
Out[127]:
array(['Never or Hardly Ever', nan, 'Some Lessons', 'Every Lesson',
       'Most Lessons'], dtype=object)
In [128]:
disclima_order = ['Never or Hardly Ever', 'Some Lessons', 'Most Lessons', 'Every Lesson']
transform_categorical_column_to_be_ordered(pisa2012, disclima_order,
                                          ['ST81Q01', 'ST81Q02', 'ST81Q03', 'ST81Q04', 'ST81Q05'])
In [129]:
col = ['ST81Q01', 'ST81Q02', 'ST81Q03', 'ST81Q04', 'ST81Q05']
titles = ["Students Don’t Listen", 
          "Noise and Disorder",
          "Teacher Has to Wait Until its Quiet", "Students Don’t Work Well", 
          "Students Start Working Late"
         ]
axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Disciplinary climate", titles, 
                             nr=1, nc=5,figh=19, figw=5, color=["tab:blue", "tab:green", "tab:blue", "tab:blue"])
for i in [1,2,3,4]:
    axes[i].set_yticks([],[]);

Above 40% of students thinks discplinary climate depends on the lessons.

School Climate

According to the definition of the list of indices to define it we have :

  • STUDREL Teacher student relation
  • BELONG Sense of belonging to school
In [130]:
axes = pisa2012[['STUDREL', 'BELONG']].plot(kind='hist', bins=10, sharex=True,
                                            subplots=True, figsize=(8,8), legend=False, color="tab:blue")

axes[0].legend(["Teacher Student Relations"])
axes[1].legend(["Sense of Belonging to School"]);
plt.suptitle(t="Distribution of indices for School climate", fontsize=20, fontweight='bold', color="tab:blue");

The distribution of indices for school climate seems to be normally distributed.

Teacher-student relations parameters

  • ST86Q01
  • ST86Q02
  • ST86Q03
  • ST86Q04
  • ST86Q05
In [131]:
pisa2012['ST86Q01'].unique()
Out[131]:
array(['Agree', nan, 'Strongly agree', 'Strongly disagree', 'Disagree'], dtype=object)
In [132]:
studrel_order = ['Strongly disagree', 'Disagree', 'Agree', 'Strongly agree']
transform_categorical_column_to_be_ordered(pisa2012, studrel_order,
                                           ["ST86Q01", "ST86Q02", "ST86Q03", "ST86Q04", "ST86Q05"])
In [133]:
col = ['ST86Q01', 'ST86Q02', 'ST86Q03', 'ST86Q04', 'ST86Q05']
titles = ["Get Along with Teachers", 
          "Teachers Are Interested",
          "Teachers Listen to Students", "Teachers Help Students", 
          "Teachers Treat Students Fair"
         ]
axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Student-Teacher Relation", titles, 
                             nr=1, nc=5,figh=19, figw=5)
for i in [1,2,3,4]:
    axes[i].set_yticks([],[]);

More than 60% of students Agree that student-teacher relation could be portray as follow : Get along with teachers, teachers are interested, teacher listen to students, teacher help students, teacher treat students fair.

Sense of belonging to school

  • ST87Q01
  • ST87Q02
  • ST87Q03
  • ST87Q04
  • ST87Q05
  • ST87Q06
  • ST87Q07
  • ST87Q08
  • ST87Q09
In [134]:
pisa2012["ST87Q01"].unique()
Out[134]:
array(['Agree', nan, 'Strongly disagree', 'Disagree', 'Strongly agree'], dtype=object)
In [135]:
belong_order = ['Strongly disagree', 'Disagree', 'Agree', 'Strongly agree']
transform_categorical_column_to_be_ordered(pisa2012, belong_order,
                                           ["ST87Q01", "ST87Q02", "ST87Q03", "ST87Q04", "ST87Q05",
                                            "ST87Q06", "ST87Q07", "ST87Q08", "ST87Q09"])
In [136]:
col = ["ST87Q01", "ST87Q02", "ST87Q03", "ST87Q04", "ST87Q05", "ST87Q06", "ST87Q07", "ST87Q08", "ST87Q09"]

titles = ["Feel Like Outsider",  "Make Friends Easily", "Belong at School", "Feel Awkward at School", 
          "Liked by Other Students", "Feel Lonely at School", "Feel Happy at School", "Things Are Ideal at School",
          "Satisfied at School"]

axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Sense of Belonging", titles, 
                             nr=2, nc=5,figh=19, figw=10, fig_a_hspace=.4)
for i in [1,2,3,4, 6,7,8,9]:
    axes[i].set_yticks([],[]);
plt.delaxes(axes[9]);

Attitudes towards School

The attitudes towards school was covered by two scaled indices based on eight items ST88, ST89.

  • ATSCHL
    • ST88Q01, ST88Q02, ST88Q03, ST88Q04
  • ATTLNACT
    • ST89Q02, ST89Q03, ST89Q04, ST89Q05
In [137]:
axes = pisa2012[['ATSCHL', 'ATTLNACT']].plot(kind='hist', 
                                             bins=8, figsize=(8,8), 
                                             subplots=True, 
                                             sharex=False, color="tab:blue")
axes[0].legend(["Learning Outcomes"])
axes[1].legend(["Learning Activities"])
plt.suptitle(t="Distribution of indices for Attitudes towards school",
             fontsize=20, fontweight='bold', color="tab:blue");

List of items for index ATSCHL

  • ST88Q01,
  • ST88Q02,
  • ST88Q03,
  • ST88Q04
In [138]:
pisa2012['ST88Q01'].unique()
Out[138]:
array(['Agree', nan, 'Disagree', 'Strongly agree', 'Strongly disagree'], dtype=object)
In [139]:
atschl_order = ['Strongly disagree', 'Disagree', 'Agree', 'Strongly agree']
transform_categorical_column_to_be_ordered(pisa2012, atschl_order,
                                           ["ST88Q01", "ST88Q02", "ST88Q03", "ST88Q04"])
In [140]:
col = ["ST88Q01", "ST88Q02", "ST88Q03", "ST88Q04"]
titles = ["Does Little to Prepare Me for Life", 
          "Waste of Time",
          "Gave Me Confidence", 
          "Useful for Job"
         ]
axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Learning Outcomes", titles, 
                             nr=1, nc=4,figh=19, figw=5)
for i in [1,2,3]:
    axes[i].set_yticks([],[]);

List of items for index ATTLNACT

  • ST89Q02,
  • ST89Q03,
  • ST89Q04,
  • ST89Q05
In [141]:
pisa2012['ST89Q02'].unique()
Out[141]:
array(['Agree', nan, 'Strongly agree', 'Strongly disagree', 'Disagree'], dtype=object)
In [142]:
attlnact_order = ['Strongly disagree', 'Disagree', 'Agree', 'Strongly agree']
transform_categorical_column_to_be_ordered(pisa2012, attlnact_order,
                                           ["ST89Q02", "ST89Q03", "ST89Q04", "ST89Q05"])
In [143]:
col = ["ST89Q02", "ST89Q03", "ST89Q04", "ST89Q05"]
titles = ["Helps to Get a Job", 
          "Prepare for College",
          "Enjoy Good Grades", 
          "Trying Hard is Important"
         ]
axes = summary_barplot_items(pisa2012, col, "Summary of the parameters for Learning Activities", titles, 
                             nr=1, nc=4,figh=19, figw=5)
for i in [1,2,3]:
    axes[i].set_yticks([],[]);

Univariate recap

Discuss the distribution(s) of your variable(s) of interest. Were there any unusual points? Did you need to perform any transformations?.

From the univariate explorations we investigated the following indices :

  • Some general indices
    • GRADE, IMMIG, FAMSTRUC, HISEI , HISCED :

There are more students that are from OECD countries. the relative grade distribution seems to follow a normal distribution. Many parents have completed ISCED level 3A, 3B and 3C.

  • Family wealth
    • WEALTH, CULTPOS, HEDRES, HOMEPOS :

Parents possesses more literature books per household

  • Attitude towards mathematics
    • INSTMOT, INTMAT,SUBNORM, MATHEFF, ANXMAT, SCMAT, FAILMAT, MATHWKETH, MATINTFC, MATBEH :

There are some parameters showing students attitude toward mathematics but we can really select one that qualify the best.

  • Opportunity to learn
    • EXAPPLM, EXPUREM, FAMCON, FAMCONC, TCHBEHTD, TCHBEHSO, TEACHSUP, COGACT, MTSUP, CLSMAN, DISCLIMA :

Teacher behavior seems to behave well or get good feedback from there students occasionally.

  • School climate :
    • STUDREL, BELONG :

No real patterns was observed from students behavior at school.

### Of the features you investigated, were there any unusual distributions? Did you perform any operations on the data to tidy, adjust, or change the form of the data? If so, why did you do this?.

There were some useful features both on the general indices and some parameters that composes the general indices. Yes we change some columns data type from numerical to categorical in order to better understand the data.

Bivariate Exploration

In [144]:
grid = sb.PairGrid(data = pisa2012.sample(20000), 
                   vars=["Math", "Reading", "Science"])
grid = grid.map_diag(plt.hist, linewidth=3)
grid = grid.map_lower(sb.kdeplot, linewidths = 2, edgecolor = 'blue', alpha =.5)
grid = grid.map_upper(plt.scatter, linewidths = 2, edgecolor = 'yellow',alpha =.7)
grid.fig.suptitle("Math, Reading, Science score scatter plot", y = 1.02,
                  fontsize=14, fontweight='bold');
/opt/conda/lib/python3.6/site-packages/matplotlib/contour.py:967: UserWarning: The following kwargs were not used by contour: 'label', 'color', 'edgecolor'
  s)

Math,Reading and Science score VS sex, oecd, country

In [145]:
binsize = 10
bins = np.arange(0, pisa2012['PV1MATH'].max()+binsize, binsize)

(pisa2012
 .query("ST04Q01 == 'Female' ")
 ['Math']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Maths Score by Gender",
       figsize=(8,5),
       alpha=.5,
       label="Female"
      )
);

(pisa2012
 .query("ST04Q01 == 'Male' ")
 ['Math']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Maths Score by Gender",
       figsize=(8,5),
       alpha=.5,
       label='Male'
      )
);

plt.xlabel('Maths Score');
plt.ylabel('Number of Students');
plt.legend();
In [146]:
binsize = 10
bins = np.arange(0, pisa2012['PV1READ'].max()+binsize, binsize)

(pisa2012
 .query("ST04Q01 == 'Female' ")
 ['PV1READ']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Reading Score by Gender",
       figsize=(8,5),
       alpha=.5,
       label="Female"
      )
);

(pisa2012
 .query("ST04Q01 == 'Male' ")
 ['PV1READ']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Reading Score by Gender",
       figsize=(8,5),
       alpha=.5,
       label='Male'
      )
);

plt.xlabel('Reading Score');
plt.ylabel('Number of Students');
plt.legend();
In [147]:
binsize = 10
bins = np.arange(0, pisa2012['PV1SCIE'].max()+binsize, binsize)

(pisa2012
 .query("ST04Q01 == 'Female' ")
 ['PV1SCIE']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Science Score by Gender",
       figsize=(8,5),
       alpha=.5,
       label="Female"
      )
);

(pisa2012
 .query("ST04Q01 == 'Male' ")
 ['PV1SCIE']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Science Score by Gender",
       figsize=(8,5),
       alpha=.5,
       label='Male'
      )
);

plt.xlabel('Science Score');
plt.ylabel('Number of Students');
plt.legend();
In [148]:
(pisa2012
 .groupby('CNT')
 .mean()['PV1MATH']
 .sort_values(ascending=True)
 .plot(kind='barh', 
       title="Mean Math Score by Country (red line represents mean)",
       figsize=(8,6), color='C0'
      )
)

plt.xlabel('Mean Math Score')
plt.ylabel('Country')
plt.axvline(pisa2012['PV1MATH'].mean(), color='r')
plt.show()
In [149]:
(pisa2012
 .groupby('CNT')
 .mean()['PV1READ']
 .sort_values(ascending=True)
 .plot(kind='barh', 
       title="Mean Reading Score by Country (red line represents mean)",
       figsize=(8,6), color='C0'
      )
)

plt.xlabel('Mean Reading Score')
plt.ylabel('Country')
plt.axvline(pisa2012['PV1READ'].mean(), color='r');
In [150]:
(pisa2012
 .groupby('CNT')
 .mean()['PV1SCIE']
 .sort_values(ascending=True)
 .plot(kind='barh', 
       title="Mean Science Score by Country (red line represents mean)",
       figsize=(8,6), color='C0'
      )
)

plt.xlabel('Mean Science Score')
plt.ylabel('Country')
plt.axvline(pisa2012['PV1SCIE'].mean(), color='r');
In [151]:
(pd.crosstab(index=pisa2012['CNT'], columns=pisa2012['ST04Q01'])
 .sort_values(by=['Female', 'Male'], ascending=True)
 .plot(kind='barh', 
       figsize=(12,10),
      )
);
plt.legend(title="Sex")
plt.xlabel('Number of Students');
plt.ylabel("Country");
In [152]:
binsize = 10
bins = np.arange(0, pisa2012['Math'].max()+binsize, binsize)

(pisa2012
 .query("OECD == 'OECD' ")
 ['Math']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Maths Score by OECD",
       figsize=(8,5),
       alpha=.5,
       label="OECD"
      )
);

(pisa2012
 .query("OECD == 'Non-OECD' ")
 ['Math']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Maths Score by OECD",
       figsize=(8,5),
       alpha=.5,
       label='Non-OECD'
      )
);

plt.xlabel('Maths Score');
plt.ylabel('Number of Students');
plt.legend();
In [153]:
binsize = 10
bins = np.arange(0, pisa2012['Reading'].max()+binsize, binsize)

(pisa2012
 .query("OECD == 'OECD' ")
 ['Reading']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Reading Score by OECD",
       figsize=(8,5),
       alpha=.5,
       label="OECD"
      )
);

(pisa2012
 .query("OECD == 'Non-OECD' ")
 ['Reading']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Reading Score by OECD",
       figsize=(8,5),
       alpha=.5,
       label='Non-OECD'
      )
);

plt.xlabel('Reading Score');
plt.ylabel('Number of Students');
plt.legend();
In [154]:
binsize = 10
bins = np.arange(0, pisa2012['Science'].max()+binsize, binsize)

(pisa2012
 .query("OECD == 'OECD' ")
 ['Science']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Science Score by OECD",
       figsize=(8,5),
       alpha=.5,
       label="OECD"
      )
);

(pisa2012
 .query("OECD == 'Non-OECD' ")
 ['Science']
 .plot(kind='hist',
       bins=bins,
       title="Distribution of Science Score by OECD",
       figsize=(8,5),
       alpha=.5,
       label='Non-OECD'
      )
);

plt.xlabel('Science Score');
plt.ylabel('Number of Students');
plt.legend();

Relative grade, Family structure, OECD, Immigration status, Highest Occupational status, sex relationship

In [155]:
crosstab_mother = pd.crosstab(pisa2012['GRADE'], pisa2012['ST11Q01'], normalize=True).round(4)
crosstab_mother.plot(kind='barh', color=['tab:orange', "tab:blue"], figsize=(12,5), table=True);
plt.legend(title="Mother at home");
plt.xticks([],[]);
plt.title("Percentage of grade distribtuion with mother home or not");
In [156]:
crosstab_father = pd.crosstab(pisa2012['GRADE'], pisa2012['ST11Q02'], normalize=True,).round(4)
crosstab_father.plot(kind='barh', color=['tab:orange', "tab:blue"], figsize=(12,5), table=True);
plt.legend(title="Father at home");
plt.xticks([],[]);
plt.title("Percentage of grade distribtuion with father home or not");
In [157]:
crosstab_immig = pd.crosstab(pisa2012['GRADE'],pisa2012['IMMIG'], normalize=True,).round(4)
crosstab_immig.plot(kind='barh', color=["tab:blue", "tab:orange", "tab:green"], figsize=(12,5), table=True);
plt.legend(title="Immigration status");
plt.xticks([],[]);
plt.title("Percentage of grade distribtuion with father home or not");
In [158]:
crosstab_sex = pd.crosstab(pisa2012['GRADE'], pisa2012['ST04Q01'], normalize=True,).round(4)
crosstab_sex.plot(kind='barh', color=['tab:orange', "tab:blue"],figsize=(12,5), table=True);
plt.legend(title="Sex");
plt.xticks([],[]);
plt.title("Percentage of grade distribtuion according to the sex");
In [159]:
crosstab_oecd_sex = pd.crosstab(pisa2012['OECD'], pisa2012['ST04Q01'], normalize=True,)

crosstab_oecd_sex.plot(kind='bar', color=['tab:orange', "tab:blue"], rot=0);
plt.legend(title="Sex");
for i,v in enumerate(crosstab_oecd_sex["Female"]):
    plt.text(i, v, str(round(v, 4)), fontdict=dict(color='black', fontsize=12), ha='right');
for i,v in enumerate(crosstab_oecd_sex["Male"]):
    plt.text(i, v, str(round(v, 4)), fontdict=dict(color='black', fontsize=12), ha='left');
plt.ylabel("Percentage");
plt.title("Percentage of sex distribtuion according to the OECD countries");
In [160]:
crosstab_book_oecd = pd.crosstab(pisa2012['ST28Q01'],pisa2012['OECD'], normalize=True,)

crosstab_book_oecd.plot(kind='barh', color=['tab:orange', "tab:blue"],);
plt.legend(title="");
for i,v in enumerate(crosstab_book_oecd["Non-OECD"]):
    plt.text(v, i, str(round(v, 4)), fontdict=dict(color='black', fontsize=12), va='top');
for i,v in enumerate(crosstab_book_oecd["OECD"]):
    plt.text(v, i, str(round(v, 4)), fontdict=dict(color='black', fontsize=12), va='bottom');
plt.xlabel("Percentage");
plt.ylabel("");
plt.title("Percentage of books distribtuion according to the OECD countries");
In [161]:
fig = plt.figure(figsize =(30,15))

ax1 = fig.add_subplot(231)
sb.barplot(data=pisa2012, y="GRADE", x="BFMJ2", ci='sd', color="tab:blue", orient='h');
plt.xlabel("Father Highest Occupational Status");
plt.ylabel("GRADE");

ax2 = fig.add_subplot(232)
sb.barplot(data=pisa2012, y="GRADE", x="BMMJ1", ci='sd', color="tab:blue", orient='h');
plt.xlabel("Mother Highest Occupational Status");
plt.ylabel("GRADE");

ax3 = fig.add_subplot(233)
sb.barplot(data=pisa2012, y="GRADE", x="HISEI", ci='sd', color="tab:blue", orient='h');
plt.xlabel("Parents Highest Occupational Status");
plt.ylabel("GRADE");

ax4 = fig.add_subplot(234)
crosstab_grade_fisced = pd.crosstab(pisa2012['GRADE'],pisa2012['FISCED'], normalize=True,).round(4)
crosstab_grade_fisced.plot(kind='barh', table=False, ax=ax4);
ax4.set_xlabel("Percentage")
plt.legend(title="Educational level of father (ISCED)");

ax5 = fig.add_subplot(235)
crosstab_grade_misced = pd.crosstab(pisa2012['GRADE'],pisa2012['MISCED'], normalize=True,).round(4)
crosstab_grade_misced.plot(kind='barh', table=False, ax=ax5);
ax5.set_xlabel("Percentage")
plt.legend(title="Educational level of Mother (ISCED)");

ax6 = fig.add_subplot(236)
crosstab_grade_hisced = pd.crosstab(pisa2012['GRADE'],pisa2012['HISCED'], normalize=True,).round(4)
crosstab_grade_hisced.plot(kind='barh', table=False, ax=ax6);
ax6.set_xlabel("Percentage")
plt.legend(title="Educational level of parents (ISCED)");

plt.subplots_adjust(wspace=0.4);
In [162]:
def summary_hue_barplot_items(df:pd.DataFrame, col:list, hue_col:str,suptitle:str, title:list, 
                              nr=1, nc=1, 
                              figh=5, figw=12, 
                              fig_a_top=.8, fig_a_wspace=.2, fig_a_hspace=.9, 
                              color=["tab:blue"], vert=True):
    """
    Given some parameters such as the dataframe, the list of columns to plot and the details about
    how many axes to use plot and adjust the plotting parameters.
    """
    
    fig, axes = plt.subplots(nrows=nr, ncols=nc, figsize=(figh, figw))
    fig.suptitle(t=suptitle, x = 0.5, y = 0.95, fontsize = 20, fontweight='bold', color = 'tab:blue')
    axes_ = axes.flatten()
    
    if vert:
        for idx, c in enumerate(col):
            ax = sb.countplot(data=df, x=c, hue=hue_col, ax=axes_[idx])
            ax.get_legend().remove()
            ax.set_title(title);
            ax.set_xlabel("");
            
        fig.subplots_adjust(top=fig_a_top, wspace=fig_a_wspace , hspace=fig_a_hspace);
    
    else:
        for idx, c in enumerate(col):
            ax = sb.countplot(data=df, y=c, hue=hue_col, ax=axes_[idx])
            ax.get_legend().remove()
            ax.set_title(title[idx]);
            ax.set_ylabel("");
        fig.subplots_adjust(top=fig_a_top, wspace=fig_a_wspace , hspace=fig_a_hspace);
    return axes_
In [163]:
col = ['ST29Q01', 'ST29Q03', 'ST29Q04', 'ST29Q06']

titles = ["Enjoy Reading", "Look Forward to Lessons", "Enjoy Maths", "Interested"]

axes = summary_hue_barplot_items(pisa2012, col, 'ST04Q01', 
                                 "Summary of the parameters for Mathematics Interest VS Sex", titles, 
                                 nr=1, nc=4,figh=15, figw=5, color=["tab:blue"], 
                                 vert=False, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,3]:
    axes[i].set_yticks([],[]);
axes[3].legend(title="Sex",bbox_to_anchor=(1.4, 1));
In [164]:
col = ['ST44Q01', 'ST44Q03', 'ST44Q04', 'ST44Q05', 'ST44Q07', 'ST44Q08']

titles = ["Not Good at Maths Problems", "Teacher Did Not Explain Well", "Bad Guesses",
          "Material Too Hard", 'Teacher Didnt Get Students Interested', 'Unlucky']

axes = summary_hue_barplot_items(pisa2012, col, "ST04Q01",
                                 "Summary of the parameters for Failure in mathematics VS Sex", titles, 
                                 nr=2, nc=3, figh=19, figw=10, 
                                 vert=False, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,4,5]:
    axes[i].set_yticks([],[]);
axes[2].legend(title="Sex",bbox_to_anchor=(1.4, 0));
In [165]:
col = ['ST46Q01', 'ST46Q02', 'ST46Q03', 'ST46Q04', 'ST46Q05', 'ST46Q06', 'ST46Q07', 'ST46Q08', 'ST46Q09']

titles = ["Homework Completed in Time", "Work Hard on Homework", "Prepared for Exams",
          "Study Hard for Quizzes", 'Study Until I Understand Everything', "Pay Attention in Classes",
          'Listen in Classes', "Avoid Distractions When Studying", "Keep Work Organized"]

axes = summary_hue_barplot_items(pisa2012, col, "ST04Q01","Summary of the parameters for Mathematics work ethic VS Sex", titles, 
                                 nr=2, nc=5, figh=19, figw=10, 
                                 vert=False, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,3,4,6,7,8,9]:
    axes[i].set_yticks([],[]);
plt.delaxes(axes[9]);
axes[4].legend(title="Sex",bbox_to_anchor=(1.5, 0));
In [166]:
col = ['ST49Q01', 'ST49Q02', 'ST49Q03', 'ST49Q04', 'ST49Q05', 'ST49Q06', 'ST49Q07', 'ST49Q09']

titles = ["Homework Completed in Time", "Work Hard on Homework", "Prepared for Exams",
          "Study Hard for Quizzes", 'Study Until I Understand Everything', "Pay Attention in Classes",
          'Listen in Classes', "Avoid Distractions When Studying", "Keep Work Organized"]

axes = summary_hue_barplot_items(pisa2012, col, "ST04Q01","Summary of the parameters for Mathematics behavior VS Sex", titles, 
                             nr=2, nc=4, figh=19, figw=10, 
                             vert=False, fig_a_hspace=.4, fig_a_wspace=.2)
for i in [1,2,3,5,6,7]:
    axes[i].set_yticks([],[]);
axes[3].legend(title="Sex",bbox_to_anchor=(1.5, 0));
In [167]:
col = ['ST79Q01', 'ST79Q02', 'ST79Q06', 'ST79Q08', 'ST79Q15']
titles = ["Sets Clear Goals", "Encourages Thinking and Reasoning", "Checks Understanding", "Summarizes Previous Lessons",
          "Informs about Learning Goals"]
axes = summary_hue_barplot_items(pisa2012, col, 
                                 "ST04Q01", "Summary of the parameters for Teacher Behavior VS Sex", 
                                 titles, vert=False,
                                 nr=1, nc=5,figh=19, figw=5)
for i in [1,2,3,4]:
    axes[i].set_yticks([],[]);
axes[4].legend(title="Sex",bbox_to_anchor=(1.5, 1));
In [168]:
col = ['ST81Q01', 'ST81Q02', 'ST81Q03', 'ST81Q04', 'ST81Q05']
titles = ["Students Don’t Listen", 
          "Noise and Disorder",
          "Teacher Has to Wait Until its Quiet", "Students Don’t Work Well", 
          "Students Start Working Late"
         ]
axes = summary_hue_barplot_items(pisa2012, col, "ST04Q01", 
                                 "Summary of the parameters for Disciplinary climate VS Sex", titles, 
                                 nr=1, nc=5,figh=19, figw=5, vert=False)
for i in [1,2,3,4]:
    axes[i].set_yticks([],[]);
axes[4].legend(title="Sex",bbox_to_anchor=(1.5, 1));
In [169]:
col = ["ST89Q02", "ST89Q03", "ST89Q04", "ST89Q05"]
titles = ["Helps to Get a Job", 
          "Prepare for College",
          "Enjoy Good Grades", 
          "Trying Hard is Important"
         ]
axes = summary_hue_barplot_items(pisa2012, col, "ST04Q01", 
                             "Summary of the parameters for Learning Activities VS Sex", titles, vert=False, 
                             nr=1, nc=4,figh=19, figw=5)
for i in [1,2,3]:
    axes[i].set_yticks([],[]);
axes[3].legend(title="Sex",bbox_to_anchor=(1.5, 1));
In [170]:
fig = plt.figure(figsize=(15,5))

ax1 = fig.add_subplot(141)
pd.crosstab(pisa2012['ST89Q02'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Helps to Get a Job",
                                                                         stacked=False, rot=0,
                                                                         ax=ax1, legend=False);
ax1.set_ylabel("")
ax1.set_xlabel("Percentage")


ax2 = fig.add_subplot(142)
pd.crosstab(pisa2012['ST89Q03'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Prepare for College",
                                                                         stacked=False,
                                                                         ax=ax2, legend=False);
ax2.set_ylabel("")
ax2.set_yticks([],[])
ax2.set_xlabel("Percentage")


ax3 = fig.add_subplot(143)
pd.crosstab(pisa2012['ST89Q04'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title= "Enjoy Good Grades",
                                                                         stacked=False, rot=15,
                                                                         ax=ax3, legend=False);
ax3.set_ylabel("")
ax3.set_yticks([],[])
ax3.set_xlabel("Percentage")

ax4 = fig.add_subplot(144)
pd.crosstab(pisa2012['ST89Q05'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Trying Hard is Important",
                                                                         stacked=False, rot=15, ax=ax4);
ax4.legend(title="GRADE",bbox_to_anchor=(1.5, 1))
ax4.set_ylabel("");
ax4.set_xlabel("Percentage")
ax4.set_yticks([],[]);
fig.suptitle(t="Summary of the parameters for Learning Activities VS Grade",
             x = 0.5, y = 0.95, fontsize = 20, fontweight='bold', color = 'tab:blue');
plt.subplots_adjust(top=0.8);
ax4.legend(title="GRADE",bbox_to_anchor=(1.5, 1));
In [171]:
fig = plt.figure(figsize=(30,15))

ax1 = fig.add_subplot(241)
pd.crosstab(pisa2012['ST81Q01'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Students Don’t Listen",
                                                                         stacked=False, rot=0,
                                                                         ax=ax1, legend=False);
ax1.set_ylabel("")
ax1.set_xlabel("Percentage")


ax2 = fig.add_subplot(242)
pd.crosstab(pisa2012['ST81Q02'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Noise and Disorder",
                                                                         stacked=False,
                                                                         ax=ax2, legend=False);
ax2.set_ylabel("")
ax2.set_yticks([],[])
ax2.set_xlabel("Percentage")


ax3 = fig.add_subplot(243)
pd.crosstab(pisa2012['ST81Q03'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title= "Teacher Has to Wait Until its Quiet",
                                                                         stacked=False, rot=0,
                                                                         ax=ax3, legend=False);
ax3.set_ylabel("")
ax3.set_yticks([],[])
ax3.set_xlabel("Percentage")

ax4 = fig.add_subplot(244)
pd.crosstab(pisa2012['ST81Q05'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Students Don’t Work Well",
                                                                         stacked=False, rot=0, ax=ax4, legend=False);
ax4.legend(title="GRADE",bbox_to_anchor=(1.4, 0))
ax4.set_ylabel("");
ax4.set_xlabel("Percentage")
ax4.set_yticks([],[]);
ax4.legend(title="Sex",bbox_to_anchor=(1.5, 0));

ax5 = fig.add_subplot(245)
pd.crosstab(pisa2012['ST81Q05'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Students Start Working Late",
                                                                         stacked=False, rot=0, ax=ax5, legend=False);
ax5.set_xlabel("Percentage")
ax5.set_ylabel("");


fig.suptitle(t="Summary of the parameters for Disciplinary Climate VS Grade",
             x = 0.5, y = 0.95, fontsize = 20, fontweight='bold', color = 'tab:blue');
plt.subplots_adjust(top=0.85, hspace=0.2);
In [172]:
fig = plt.figure(figsize=(30,15))

ax1 = fig.add_subplot(241)
pd.crosstab(pisa2012['ST79Q01'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Sets Clear Goals",
                                                                         stacked=False, rot=0,
                                                                         ax=ax1, legend=False);
ax1.set_ylabel("")
ax1.set_xlabel("Percentage")


ax2 = fig.add_subplot(242)
pd.crosstab(pisa2012['ST79Q02'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Encourages Thinking and Reasoning",
                                                                         stacked=False,
                                                                         ax=ax2, legend=False);
ax2.set_ylabel("")
ax2.set_yticks([],[])
ax2.set_xlabel("Percentage")


ax3 = fig.add_subplot(243)
pd.crosstab(pisa2012['ST79Q06'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title= "Checks Understanding",
                                                                         stacked=False, rot=0,
                                                                         ax=ax3, legend=False);
ax3.set_ylabel("")
ax3.set_yticks([],[])
ax3.set_xlabel("Percentage")

ax4 = fig.add_subplot(244)
pd.crosstab(pisa2012['ST79Q08'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Summarizes Previous Lessons",
                                                                         stacked=False, rot=0, ax=ax4, legend=False);
ax4.legend(title="GRADE",bbox_to_anchor=(1.4, 0));
ax4.set_ylabel("");
ax4.set_xlabel("Percentage")
ax4.set_yticks([],[]);

ax5 = fig.add_subplot(245)
pd.crosstab(pisa2012['ST79Q15'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Informs about Learning Goals",
                                                                         stacked=False, rot=0, ax=ax5, legend=False);
ax5.set_xlabel("Percentage")
ax5.set_ylabel("");


fig.suptitle(t="Summary of the parameters for Teacher-Directed Instruction VS Grade",
             x = 0.5, y = 0.95, fontsize = 20, fontweight='bold', color = 'tab:blue');
plt.subplots_adjust(top=0.85, hspace=0.2);
In [173]:
fig = plt.figure(figsize=(30,15))

ax1 = fig.add_subplot(241)
pd.crosstab(pisa2012['ST49Q01'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Talk about Maths with Friends",
                                                                         stacked=False, rot=0,
                                                                         ax=ax1, legend=False);
ax1.set_ylabel("")
ax1.set_xlabel("Percentage")


ax2 = fig.add_subplot(242)
pd.crosstab(pisa2012['ST49Q02'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Help Friends with Maths",
                                                                         stacked=False,
                                                                         ax=ax2, legend=False);
ax2.set_ylabel("")
ax2.set_yticks([],[])
ax2.set_xlabel("Percentage")


ax3 = fig.add_subplot(243)
pd.crosstab(pisa2012['ST49Q03'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title= "<Extracurricular> Activity",
                                                                         stacked=False, rot=0,
                                                                         ax=ax3, legend=False);
ax3.set_ylabel("")
ax3.set_yticks([],[])
ax3.set_xlabel("Percentage")

ax4 = fig.add_subplot(244)
pd.crosstab(pisa2012['ST49Q04'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Participate in Competitions",
                                                                         stacked=False, rot=0, ax=ax4, legend=False);
ax4.legend(title="GRADE",bbox_to_anchor=(1.4, 0))
ax4.set_ylabel("");
ax4.set_xlabel("Percentage")
ax4.set_yticks([],[]);

ax5 = fig.add_subplot(245)
pd.crosstab(pisa2012['ST49Q05'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title='Study More Than 2 Extra Hours a Day',
                                                                         stacked=False, rot=0, ax=ax5, legend=False);
ax5.set_xlabel("Percentage")
ax5.set_ylabel("");

ax6 = fig.add_subplot(246)
pd.crosstab(pisa2012['ST49Q06'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Play Chess",
                                                                         stacked=False, rot=0, ax=ax6, legend=False);
ax6.set_ylabel("");
ax6.set_xlabel("Percentage")
ax6.set_yticks([],[]);

ax7 = fig.add_subplot(247)
pd.crosstab(pisa2012['ST49Q07'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title='Computer programming',
                                                                         stacked=False, rot=0, ax=ax7, legend=False);
ax7.set_ylabel("");
ax7.set_xlabel("Percentage")
ax7.set_yticks([],[]);

ax8 = fig.add_subplot(248)
pd.crosstab(pisa2012['ST49Q09'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Participate in Math Club",
                                                                         stacked=False, rot=0, ax=ax8, legend=False);
ax8.set_ylabel("");
ax8.set_xlabel("Percentage")
ax8.set_yticks([],[]);


fig.suptitle(t="Summary of the parameters for Math Behavior VS Grade",
             x = 0.5, y = 0.95, fontsize = 20, fontweight='bold', color = 'tab:blue');
plt.subplots_adjust(top=0.85, hspace=0.2);
In [174]:
fig = plt.figure(figsize=(30,15))

ax1 = fig.add_subplot(341)
pd.crosstab(pisa2012['ST46Q01'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Homework Completed in Time",
                                                                         stacked=False, rot=0,
                                                                         ax=ax1, legend=False);
ax1.set_ylabel("")
ax1.set_xlabel("Percentage")


ax2 = fig.add_subplot(342)
pd.crosstab(pisa2012['ST46Q02'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Work Hard on Homework",
                                                                         stacked=False,
                                                                         ax=ax2, legend=False);
ax2.set_ylabel("")
ax2.set_yticks([],[])
ax2.set_xlabel("Percentage")


ax3 = fig.add_subplot(343)
pd.crosstab(pisa2012['ST46Q03'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title= "Prepared for Exams",
                                                                         stacked=False, rot=0,
                                                                         ax=ax3, legend=False);
ax3.set_ylabel("")
ax3.set_yticks([],[])
ax3.set_xlabel("Percentage")

ax4 = fig.add_subplot(344)
pd.crosstab(pisa2012['ST46Q04'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Study Hard for Quizzes",
                                                                         stacked=False, rot=0, ax=ax4, legend=False);
ax4.legend(title="GRADE",bbox_to_anchor=(1.4, 0))
ax4.set_ylabel("");
ax4.set_xlabel("Percentage")
ax4.set_yticks([],[]);

ax5 = fig.add_subplot(345)
pd.crosstab(pisa2012['ST46Q05'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title='Study Until I Understand Everything',
                                                                         stacked=False, rot=0, ax=ax5, legend=False);
ax5.set_xlabel("Percentage")
ax5.set_ylabel("");

ax6 = fig.add_subplot(346)
pd.crosstab(pisa2012['ST46Q06'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Pay Attention in Classes",
                                                                         stacked=False, rot=0, ax=ax6, legend=False);
ax6.set_ylabel("");
ax6.set_xlabel("Percentage")
ax6.set_yticks([],[]);

ax7 = fig.add_subplot(347)
pd.crosstab(pisa2012['ST46Q07'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title='Listen in Classes',
                                                                         stacked=False, rot=0, ax=ax7, legend=False);
ax7.set_ylabel("");
ax7.set_xlabel("Percentage")
ax7.set_yticks([],[]);

ax8 = fig.add_subplot(348)
pd.crosstab(pisa2012['ST46Q08'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Avoid Distractions When Studying",
                                                                         stacked=False, rot=0, ax=ax8, legend=False);
ax8.set_ylabel("");
ax8.set_xlabel("Percentage")
ax8.set_yticks([],[]);

ax9 = fig.add_subplot(349)
pd.crosstab(pisa2012['ST46Q09'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Keep Work Organized",
                                                                         stacked=False, rot=0, ax=ax9, legend=False);
ax9.set_ylabel("");
ax9.set_xlabel("Percentage")


fig.suptitle(t="Summary of the parameters for Math work ethic VS Grade",
             x = 0.5, y = 0.95, fontsize = 20, fontweight='bold', color = 'tab:blue');
plt.subplots_adjust(top=0.85, hspace=0.4);
In [175]:
fig = plt.figure(figsize=(30,15))

ax1 = fig.add_subplot(241)
pd.crosstab(pisa2012['ST44Q01'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Not Good at Maths Problems",
                                                                         stacked=False, rot=0,
                                                                         ax=ax1, legend=False);
ax1.set_ylabel("")
ax1.set_xlabel("Percentage")


ax2 = fig.add_subplot(242)
pd.crosstab(pisa2012['ST44Q03'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Teacher Did Not Explain Well",
                                                                         stacked=False,
                                                                         ax=ax2, legend=False);
ax2.set_ylabel("")
ax2.set_yticks([],[])
ax2.set_xlabel("Percentage")


ax3 = fig.add_subplot(243)
pd.crosstab(pisa2012['ST44Q04'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Bad Guesses",
                                                                         stacked=False, rot=0,
                                                                         ax=ax3, legend=False);
ax3.set_ylabel("")
ax3.set_yticks([],[])
ax3.set_xlabel("Percentage")

ax4 = fig.add_subplot(244)
pd.crosstab(pisa2012['ST44Q05'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title="Material Too Hard",
                                                                         stacked=False, rot=0, ax=ax4, legend=False);
ax4.legend(title="GRADE",bbox_to_anchor=(1.4, 0))
ax4.set_ylabel("");
ax4.set_xlabel("Percentage")
ax4.set_yticks([],[]);

ax5 = fig.add_subplot(245)
pd.crosstab(pisa2012['ST44Q07'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title='Teacher Didnt Get Students Interested',
                                                                         stacked=False, rot=0, ax=ax5, legend=False);
ax5.set_ylabel("");
ax5.set_xlabel("Percentage")

ax6 = fig.add_subplot(246)
pd.crosstab(pisa2012['ST44Q08'], pisa2012['GRADE'], normalize=True).plot(kind='barh',
                                                                         title='Unlucky',
                                                                         stacked=False, rot=0, ax=ax6, legend=False);
ax6.set_xlabel("Percentage")
ax6.set_ylabel("");
ax6.set_yticks([],[]);


fig.suptitle(t="Summary of the parameters for Failure in Math VS Grade",
             x = 0.5, y = 0.95, fontsize = 20, fontweight='bold', color = 'tab:blue');
plt.subplots_adjust(top=0.85, hspace=0.3);

Bivariate recap

Talk about some of the relationships you observed in this part of the investigation. How did the feature(s) of interest vary with other features in the dataset?.

Plotting many of the main features against the region (OECD countries), sex, grade. We learned that the grade has an impact on some parameters of the failure in mathematics and mathematics work ethic i.e very few students has excellent grades because of their work ethic.

Did you observe any interesting relationships between the other features (not the main feature(s) of interest)?.

The distribution of sex and oecd countries among the population of study is respectively almost equal and unbalanced.

Multivariate Exploration

> Create plots of three or more variables to investigate your data even further. Make sure that your investigations are justified, and follow from your work in the previous sections..

In [176]:
# FacetGrid for distribution of maths score according to OECD country
binsize = 20
pisa2012_oecd = pisa2012.query("OECD == 'OECD' ")
bins = np.arange(0, pisa2012_oecd['Math'].max()+binsize, binsize)

g = sb.FacetGrid(pisa2012_oecd, col='CNT', col_wrap=5, 
                 margin_titles=True, hue='ST04Q01')
g.map(plt.hist, 'Math', bins = bins, alpha=0.5)
g.fig.subplots_adjust(top=0.95)
g.fig.suptitle('Distribution of Math Score per Gender of OECD Country');
g.add_legend();
In [177]:
# FacetGrid for distribution of maths score according to OECD country
binsize = 20
pisa2012_non_oecd = pisa2012.query("OECD == 'Non-OECD' ")
bins = np.arange(0, pisa2012_non_oecd['Math'].max()+binsize, binsize)

g = sb.FacetGrid(pisa2012_non_oecd, col='CNT', col_wrap=5, 
                 margin_titles=True, hue='ST04Q01')
g.map(plt.hist, 'Math', bins = bins, alpha=0.5)
g.fig.subplots_adjust(top=.85)
g.fig.suptitle('Distribution of Math Score per Gender of Non-OECD Country');
g.add_legend();
In [178]:
fig = plt.figure(figsize=(30,15))

ax1 = fig.add_subplot(321)
ax1 = sb.barplot(x = pisa2012['HOMEPOS'], y=pisa2012['GRADE'], hue=pisa2012['OECD'], ax=ax1);
ax1.legend([]);
ax1.set_xlabel("Home Possessions");

ax2 = fig.add_subplot(322)
ax2 = sb.barplot(x = pisa2012['HOMEPOS'], y=pisa2012['ST28Q01'], hue=pisa2012['OECD'], ax=ax2);
ax2.legend([]);
ax2.set_ylabel("");
ax2.set_xlabel("Home Possessions");

ax3 = fig.add_subplot(323)
ax3 = sb.barplot(x = pisa2012['HEDRES'], y=pisa2012['GRADE'], hue=pisa2012['OECD'], ax=ax3);
ax3.legend([]);
ax3.set_xlabel("Home Educational Resources");

ax4 = fig.add_subplot(324)
ax4 = sb.barplot(x = pisa2012['HEDRES'], y=pisa2012['ST28Q01'], hue=pisa2012['OECD'], ax=ax4);
ax4.legend(bbox_to_anchor=(1.2, 1));
ax4.set_ylabel("");
ax4.set_xlabel("Home Educational Resources");

ax5 = fig.add_subplot(325)
ax5 = sb.barplot(x = pisa2012['HOMEPOS'], y=pisa2012['GRADE'], hue=pisa2012['ST04Q01'], ax=ax5);
ax5.legend([]);
ax5.set_xlabel("Home Possessions");

ax6 = fig.add_subplot(326)
ax6 = sb.barplot(x = pisa2012['HEDRES'], y=pisa2012['GRADE'], hue=pisa2012['ST04Q01'], ax=ax6);
ax6.legend(bbox_to_anchor=(1.2, 0.5));
ax6.set_xlabel("Home Educational Resources");

fig.suptitle(t="Summary of Home possessions and Home Educational resources VS Grade and Sex",
             x = 0.5, y = 0.95, fontsize = 20, fontweight='bold', color = 'tab:blue');
plt.subplots_adjust(top=0.85, hspace=0.5);

Multivariate Recap

### Talk about some of the relationships you observed in this part of the investigation. Were there features that strengthened each other in terms of looking at your feature(s) of interest?.

Students oecd countries play a role in their grade.

### Were there any interesting or surprising interactions between features?.

Performance in mathematics is not gender based

Conclusions

You can write a summary of the main findings and reflect on the steps taken during the data exploration.

The family wealth of students who are in OECD countries contribute to their mathematics performance as opposed to those who are in non OECD countries.

> Remove all Tips mentioned above, before you convert this notebook to PDF/HTML> At the end of your report, make sure that you export the notebook as an html file from the File > Download as... > HTML or PDF menu. Make sure you keep track of where the exported file goes, so you can put it in the same folder as this notebook for project submission. Also, make sure you remove all of the quote-formatted guide notes like this one before you finish your report!

</span>.

Some visualizations inspiration in the notebook come from here

In [ ]: